{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1-4,时间序列数据建模流程范例\n",
    "\n",
    "国内的新冠肺炎疫情从发现至今已经持续3个多月了，这场起源于吃野味的灾难给大家的生活造成了诸多方面的影响。\n",
    "\n",
    "有的同学是收入上的，有的同学是感情上的，有的同学是心理上的，还有的同学是体重上的。\n",
    "\n",
    "那么国内的新冠肺炎疫情何时结束呢？什么时候我们才可以重获自由呢？\n",
    "\n",
    "本篇文章将利用TensorFlow2.0建立时间序列RNN模型，对国内的新冠肺炎疫情结束时间进行预测。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一，准备数据\n",
    "\n",
    "本文的数据集取自tushare，获取该数据集的方法参考了以下文章。\n",
    "\n",
    "《https://zhuanlan.zhihu.com/p/109556102》\n",
    "\n",
    "![](./data/1-4-新增人数.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras import models, layers, losses, metrics, callbacks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([-10.,   0.,  10.,  20.,  30.,  40.,  50.]),\n",
       " <a list of 7 Text xticklabel objects>)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Created with matplotlib (http://matplotlib.org/) -->\n",
       "<svg height=\"364.738125pt\" version=\"1.1\" viewBox=\"0 0 614.7125 364.738125\" width=\"614.7125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       " <defs>\n",
       "  <style type=\"text/css\">\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;}\n",
       "  </style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 364.738125 \n",
       "L 614.7125 364.738125 \n",
       "L 614.7125 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill:none;\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 46.0125 336.86 \n",
       "L 604.0125 336.86 \n",
       "L 604.0125 10.7 \n",
       "L 46.0125 10.7 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 0 3.5 \n",
       "\" id=\"m39628c6726\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"71.376136\" xlink:href=\"#m39628c6726\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"181.652816\" xlink:href=\"#m39628c6726\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"291.929496\" xlink:href=\"#m39628c6726\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"402.206176\" xlink:href=\"#m39628c6726\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"512.482856\" xlink:href=\"#m39628c6726\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_1\">\n",
       "     <!-- date -->\n",
       "     <defs>\n",
       "      <path d=\"M 45.40625 46.390625 \n",
       "L 45.40625 75.984375 \n",
       "L 54.390625 75.984375 \n",
       "L 54.390625 0 \n",
       "L 45.40625 0 \n",
       "L 45.40625 8.203125 \n",
       "Q 42.578125 3.328125 38.25 0.953125 \n",
       "Q 33.9375 -1.421875 27.875 -1.421875 \n",
       "Q 17.96875 -1.421875 11.734375 6.484375 \n",
       "Q 5.515625 14.40625 5.515625 27.296875 \n",
       "Q 5.515625 40.1875 11.734375 48.09375 \n",
       "Q 17.96875 56 27.875 56 \n",
       "Q 33.9375 56 38.25 53.625 \n",
       "Q 42.578125 51.265625 45.40625 46.390625 \n",
       "z\n",
       "M 14.796875 27.296875 \n",
       "Q 14.796875 17.390625 18.875 11.75 \n",
       "Q 22.953125 6.109375 30.078125 6.109375 \n",
       "Q 37.203125 6.109375 41.296875 11.75 \n",
       "Q 45.40625 17.390625 45.40625 27.296875 \n",
       "Q 45.40625 37.203125 41.296875 42.84375 \n",
       "Q 37.203125 48.484375 30.078125 48.484375 \n",
       "Q 22.953125 48.484375 18.875 42.84375 \n",
       "Q 14.796875 37.203125 14.796875 27.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-64\"/>\n",
       "      <path d=\"M 34.28125 27.484375 \n",
       "Q 23.390625 27.484375 19.1875 25 \n",
       "Q 14.984375 22.515625 14.984375 16.5 \n",
       "Q 14.984375 11.71875 18.140625 8.90625 \n",
       "Q 21.296875 6.109375 26.703125 6.109375 \n",
       "Q 34.1875 6.109375 38.703125 11.40625 \n",
       "Q 43.21875 16.703125 43.21875 25.484375 \n",
       "L 43.21875 27.484375 \n",
       "z\n",
       "M 52.203125 31.203125 \n",
       "L 52.203125 0 \n",
       "L 43.21875 0 \n",
       "L 43.21875 8.296875 \n",
       "Q 40.140625 3.328125 35.546875 0.953125 \n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \n",
       "Q 6 8.015625 6 15.921875 \n",
       "Q 6 25.140625 12.171875 29.828125 \n",
       "Q 18.359375 34.515625 30.609375 34.515625 \n",
       "L 43.21875 34.515625 \n",
       "L 43.21875 35.40625 \n",
       "Q 43.21875 41.609375 39.140625 45 \n",
       "Q 35.0625 48.390625 27.6875 48.390625 \n",
       "Q 23 48.390625 18.546875 47.265625 \n",
       "Q 14.109375 46.140625 10.015625 43.890625 \n",
       "L 10.015625 52.203125 \n",
       "Q 14.9375 54.109375 19.578125 55.046875 \n",
       "Q 24.21875 56 28.609375 56 \n",
       "Q 40.484375 56 46.34375 49.84375 \n",
       "Q 52.203125 43.703125 52.203125 31.203125 \n",
       "z\n",
       "\" id=\"DejaVuSans-61\"/>\n",
       "      <path d=\"M 18.3125 70.21875 \n",
       "L 18.3125 54.6875 \n",
       "L 36.8125 54.6875 \n",
       "L 36.8125 47.703125 \n",
       "L 18.3125 47.703125 \n",
       "L 18.3125 18.015625 \n",
       "Q 18.3125 11.328125 20.140625 9.421875 \n",
       "Q 21.96875 7.515625 27.59375 7.515625 \n",
       "L 36.8125 7.515625 \n",
       "L 36.8125 0 \n",
       "L 27.59375 0 \n",
       "Q 17.1875 0 13.234375 3.875 \n",
       "Q 9.28125 7.765625 9.28125 18.015625 \n",
       "L 9.28125 47.703125 \n",
       "L 2.6875 47.703125 \n",
       "L 2.6875 54.6875 \n",
       "L 9.28125 54.6875 \n",
       "L 9.28125 70.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-74\"/>\n",
       "      <path d=\"M 56.203125 29.59375 \n",
       "L 56.203125 25.203125 \n",
       "L 14.890625 25.203125 \n",
       "Q 15.484375 15.921875 20.484375 11.0625 \n",
       "Q 25.484375 6.203125 34.421875 6.203125 \n",
       "Q 39.59375 6.203125 44.453125 7.46875 \n",
       "Q 49.3125 8.734375 54.109375 11.28125 \n",
       "L 54.109375 2.78125 \n",
       "Q 49.265625 0.734375 44.1875 -0.34375 \n",
       "Q 39.109375 -1.421875 33.890625 -1.421875 \n",
       "Q 20.796875 -1.421875 13.15625 6.1875 \n",
       "Q 5.515625 13.8125 5.515625 26.8125 \n",
       "Q 5.515625 40.234375 12.765625 48.109375 \n",
       "Q 20.015625 56 32.328125 56 \n",
       "Q 43.359375 56 49.78125 48.890625 \n",
       "Q 56.203125 41.796875 56.203125 29.59375 \n",
       "z\n",
       "M 47.21875 32.234375 \n",
       "Q 47.125 39.59375 43.09375 43.984375 \n",
       "Q 39.0625 48.390625 32.421875 48.390625 \n",
       "Q 24.90625 48.390625 20.390625 44.140625 \n",
       "Q 15.875 39.890625 15.1875 32.171875 \n",
       "z\n",
       "\" id=\"DejaVuSans-65\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(313.7375 355.458437)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"63.476562\" xlink:href=\"#DejaVuSans-61\"/>\n",
       "      <use x=\"124.755859\" xlink:href=\"#DejaVuSans-74\"/>\n",
       "      <use x=\"163.964844\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_6\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L -3.5 0 \n",
       "\" id=\"m373ee91ba7\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"322.126368\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- 0 -->\n",
       "      <defs>\n",
       "       <path d=\"M 31.78125 66.40625 \n",
       "Q 24.171875 66.40625 20.328125 58.90625 \n",
       "Q 16.5 51.421875 16.5 36.375 \n",
       "Q 16.5 21.390625 20.328125 13.890625 \n",
       "Q 24.171875 6.390625 31.78125 6.390625 \n",
       "Q 39.453125 6.390625 43.28125 13.890625 \n",
       "Q 47.125 21.390625 47.125 36.375 \n",
       "Q 47.125 51.421875 43.28125 58.90625 \n",
       "Q 39.453125 66.40625 31.78125 66.40625 \n",
       "z\n",
       "M 31.78125 74.21875 \n",
       "Q 44.046875 74.21875 50.515625 64.515625 \n",
       "Q 56.984375 54.828125 56.984375 36.375 \n",
       "Q 56.984375 17.96875 50.515625 8.265625 \n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \n",
       "Q 6.59375 17.96875 6.59375 36.375 \n",
       "Q 6.59375 54.828125 13.0625 64.515625 \n",
       "Q 19.53125 74.21875 31.78125 74.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-30\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(32.65 325.925587)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"285.397424\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 10000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 12.40625 8.296875 \n",
       "L 28.515625 8.296875 \n",
       "L 28.515625 63.921875 \n",
       "L 10.984375 60.40625 \n",
       "L 10.984375 69.390625 \n",
       "L 28.421875 72.90625 \n",
       "L 38.28125 72.90625 \n",
       "L 38.28125 8.296875 \n",
       "L 54.390625 8.296875 \n",
       "L 54.390625 0 \n",
       "L 12.40625 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-31\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 289.196643)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"248.66848\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 20000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 19.1875 8.296875 \n",
       "L 53.609375 8.296875 \n",
       "L 53.609375 0 \n",
       "L 7.328125 0 \n",
       "L 7.328125 8.296875 \n",
       "Q 12.9375 14.109375 22.625 23.890625 \n",
       "Q 32.328125 33.6875 34.8125 36.53125 \n",
       "Q 39.546875 41.84375 41.421875 45.53125 \n",
       "Q 43.3125 49.21875 43.3125 52.78125 \n",
       "Q 43.3125 58.59375 39.234375 62.25 \n",
       "Q 35.15625 65.921875 28.609375 65.921875 \n",
       "Q 23.96875 65.921875 18.8125 64.3125 \n",
       "Q 13.671875 62.703125 7.8125 59.421875 \n",
       "L 7.8125 69.390625 \n",
       "Q 13.765625 71.78125 18.9375 73 \n",
       "Q 24.125 74.21875 28.421875 74.21875 \n",
       "Q 39.75 74.21875 46.484375 68.546875 \n",
       "Q 53.21875 62.890625 53.21875 53.421875 \n",
       "Q 53.21875 48.921875 51.53125 44.890625 \n",
       "Q 49.859375 40.875 45.40625 35.40625 \n",
       "Q 44.1875 33.984375 37.640625 27.21875 \n",
       "Q 31.109375 20.453125 19.1875 8.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-32\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 252.467699)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_9\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"211.939536\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 30000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 40.578125 39.3125 \n",
       "Q 47.65625 37.796875 51.625 33 \n",
       "Q 55.609375 28.21875 55.609375 21.1875 \n",
       "Q 55.609375 10.40625 48.1875 4.484375 \n",
       "Q 40.765625 -1.421875 27.09375 -1.421875 \n",
       "Q 22.515625 -1.421875 17.65625 -0.515625 \n",
       "Q 12.796875 0.390625 7.625 2.203125 \n",
       "L 7.625 11.71875 \n",
       "Q 11.71875 9.328125 16.59375 8.109375 \n",
       "Q 21.484375 6.890625 26.8125 6.890625 \n",
       "Q 36.078125 6.890625 40.9375 10.546875 \n",
       "Q 45.796875 14.203125 45.796875 21.1875 \n",
       "Q 45.796875 27.640625 41.28125 31.265625 \n",
       "Q 36.765625 34.90625 28.71875 34.90625 \n",
       "L 20.21875 34.90625 \n",
       "L 20.21875 43.015625 \n",
       "L 29.109375 43.015625 \n",
       "Q 36.375 43.015625 40.234375 45.921875 \n",
       "Q 44.09375 48.828125 44.09375 54.296875 \n",
       "Q 44.09375 59.90625 40.109375 62.90625 \n",
       "Q 36.140625 65.921875 28.71875 65.921875 \n",
       "Q 24.65625 65.921875 20.015625 65.03125 \n",
       "Q 15.375 64.15625 9.8125 62.3125 \n",
       "L 9.8125 71.09375 \n",
       "Q 15.4375 72.65625 20.34375 73.4375 \n",
       "Q 25.25 74.21875 29.59375 74.21875 \n",
       "Q 40.828125 74.21875 47.359375 69.109375 \n",
       "Q 53.90625 64.015625 53.90625 55.328125 \n",
       "Q 53.90625 49.265625 50.4375 45.09375 \n",
       "Q 46.96875 40.921875 40.578125 39.3125 \n",
       "z\n",
       "\" id=\"DejaVuSans-33\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 215.738755)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-33\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_10\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"175.210592\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      <!-- 40000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 37.796875 64.3125 \n",
       "L 12.890625 25.390625 \n",
       "L 37.796875 25.390625 \n",
       "z\n",
       "M 35.203125 72.90625 \n",
       "L 47.609375 72.90625 \n",
       "L 47.609375 25.390625 \n",
       "L 58.015625 25.390625 \n",
       "L 58.015625 17.1875 \n",
       "L 47.609375 17.1875 \n",
       "L 47.609375 0 \n",
       "L 37.796875 0 \n",
       "L 37.796875 17.1875 \n",
       "L 4.890625 17.1875 \n",
       "L 4.890625 26.703125 \n",
       "z\n",
       "\" id=\"DejaVuSans-34\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 179.009811)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-34\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_11\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"138.481649\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_7\">\n",
       "      <!-- 50000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 10.796875 72.90625 \n",
       "L 49.515625 72.90625 \n",
       "L 49.515625 64.59375 \n",
       "L 19.828125 64.59375 \n",
       "L 19.828125 46.734375 \n",
       "Q 21.96875 47.46875 24.109375 47.828125 \n",
       "Q 26.265625 48.1875 28.421875 48.1875 \n",
       "Q 40.625 48.1875 47.75 41.5 \n",
       "Q 54.890625 34.8125 54.890625 23.390625 \n",
       "Q 54.890625 11.625 47.5625 5.09375 \n",
       "Q 40.234375 -1.421875 26.90625 -1.421875 \n",
       "Q 22.3125 -1.421875 17.546875 -0.640625 \n",
       "Q 12.796875 0.140625 7.71875 1.703125 \n",
       "L 7.71875 11.625 \n",
       "Q 12.109375 9.234375 16.796875 8.0625 \n",
       "Q 21.484375 6.890625 26.703125 6.890625 \n",
       "Q 35.15625 6.890625 40.078125 11.328125 \n",
       "Q 45.015625 15.765625 45.015625 23.390625 \n",
       "Q 45.015625 31 40.078125 35.4375 \n",
       "Q 35.15625 39.890625 26.703125 39.890625 \n",
       "Q 22.75 39.890625 18.8125 39.015625 \n",
       "Q 14.890625 38.140625 10.796875 36.28125 \n",
       "z\n",
       "\" id=\"DejaVuSans-35\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 142.280867)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-35\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"line2d_12\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"101.752705\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 60000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 33.015625 40.375 \n",
       "Q 26.375 40.375 22.484375 35.828125 \n",
       "Q 18.609375 31.296875 18.609375 23.390625 \n",
       "Q 18.609375 15.53125 22.484375 10.953125 \n",
       "Q 26.375 6.390625 33.015625 6.390625 \n",
       "Q 39.65625 6.390625 43.53125 10.953125 \n",
       "Q 47.40625 15.53125 47.40625 23.390625 \n",
       "Q 47.40625 31.296875 43.53125 35.828125 \n",
       "Q 39.65625 40.375 33.015625 40.375 \n",
       "z\n",
       "M 52.59375 71.296875 \n",
       "L 52.59375 62.3125 \n",
       "Q 48.875 64.0625 45.09375 64.984375 \n",
       "Q 41.3125 65.921875 37.59375 65.921875 \n",
       "Q 27.828125 65.921875 22.671875 59.328125 \n",
       "Q 17.53125 52.734375 16.796875 39.40625 \n",
       "Q 19.671875 43.65625 24.015625 45.921875 \n",
       "Q 28.375 48.1875 33.59375 48.1875 \n",
       "Q 44.578125 48.1875 50.953125 41.515625 \n",
       "Q 57.328125 34.859375 57.328125 23.390625 \n",
       "Q 57.328125 12.15625 50.6875 5.359375 \n",
       "Q 44.046875 -1.421875 33.015625 -1.421875 \n",
       "Q 20.359375 -1.421875 13.671875 8.265625 \n",
       "Q 6.984375 17.96875 6.984375 36.375 \n",
       "Q 6.984375 53.65625 15.1875 63.9375 \n",
       "Q 23.390625 74.21875 37.203125 74.21875 \n",
       "Q 40.921875 74.21875 44.703125 73.484375 \n",
       "Q 48.484375 72.75 52.59375 71.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-36\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 105.551923)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-36\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_8\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"65.023761\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 70000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 8.203125 72.90625 \n",
       "L 55.078125 72.90625 \n",
       "L 55.078125 68.703125 \n",
       "L 28.609375 0 \n",
       "L 18.3125 0 \n",
       "L 43.21875 64.59375 \n",
       "L 8.203125 64.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-37\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 68.82298)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-37\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_9\">\n",
       "     <g id=\"line2d_14\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#m373ee91ba7\" y=\"28.294817\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_10\">\n",
       "      <!-- 80000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 31.78125 34.625 \n",
       "Q 24.75 34.625 20.71875 30.859375 \n",
       "Q 16.703125 27.09375 16.703125 20.515625 \n",
       "Q 16.703125 13.921875 20.71875 10.15625 \n",
       "Q 24.75 6.390625 31.78125 6.390625 \n",
       "Q 38.8125 6.390625 42.859375 10.171875 \n",
       "Q 46.921875 13.96875 46.921875 20.515625 \n",
       "Q 46.921875 27.09375 42.890625 30.859375 \n",
       "Q 38.875 34.625 31.78125 34.625 \n",
       "z\n",
       "M 21.921875 38.8125 \n",
       "Q 15.578125 40.375 12.03125 44.71875 \n",
       "Q 8.5 49.078125 8.5 55.328125 \n",
       "Q 8.5 64.0625 14.71875 69.140625 \n",
       "Q 20.953125 74.21875 31.78125 74.21875 \n",
       "Q 42.671875 74.21875 48.875 69.140625 \n",
       "Q 55.078125 64.0625 55.078125 55.328125 \n",
       "Q 55.078125 49.078125 51.53125 44.71875 \n",
       "Q 48 40.375 41.703125 38.8125 \n",
       "Q 48.828125 37.15625 52.796875 32.3125 \n",
       "Q 56.78125 27.484375 56.78125 20.515625 \n",
       "Q 56.78125 9.90625 50.3125 4.234375 \n",
       "Q 43.84375 -1.421875 31.78125 -1.421875 \n",
       "Q 19.734375 -1.421875 13.25 4.234375 \n",
       "Q 6.78125 9.90625 6.78125 20.515625 \n",
       "Q 6.78125 27.484375 10.78125 32.3125 \n",
       "Q 14.796875 37.15625 21.921875 38.8125 \n",
       "z\n",
       "M 18.3125 54.390625 \n",
       "Q 18.3125 48.734375 21.84375 45.5625 \n",
       "Q 25.390625 42.390625 31.78125 42.390625 \n",
       "Q 38.140625 42.390625 41.71875 45.5625 \n",
       "Q 45.3125 48.734375 45.3125 54.390625 \n",
       "Q 45.3125 60.0625 41.71875 63.234375 \n",
       "Q 38.140625 66.40625 31.78125 66.40625 \n",
       "Q 25.390625 66.40625 21.84375 63.234375 \n",
       "Q 18.3125 60.0625 18.3125 54.390625 \n",
       "z\n",
       "\" id=\"DejaVuSans-38\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 32.094036)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-38\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"line2d_15\">\n",
       "    <path clip-path=\"url(#p975464da0e)\" d=\"M 71.376136 319.077865 \n",
       "L 82.403804 317.399353 \n",
       "L 93.431472 314.872401 \n",
       "L 104.45914 312.047946 \n",
       "L 115.486808 305.54325 \n",
       "L 126.514476 300.184497 \n",
       "L 137.542144 293.804679 \n",
       "L 148.569812 286.528675 \n",
       "L 159.59748 278.81927 \n",
       "L 170.625148 269.310147 \n",
       "L 181.652816 258.93422 \n",
       "L 192.680484 247.059752 \n",
       "L 203.708152 232.786885 \n",
       "L 214.73582 219.219213 \n",
       "L 225.763488 207.675306 \n",
       "L 236.791156 195.242558 \n",
       "L 247.818824 185.502042 \n",
       "L 258.846492 174.582527 \n",
       "L 269.87416 165.521497 \n",
       "L 280.901828 158.120615 \n",
       "L 291.929496 102.472592 \n",
       "L 302.957164 87.608388 \n",
       "L 313.984832 77.908274 \n",
       "L 325.0125 70.533102 \n",
       "L 336.040168 63.011015 \n",
       "L 347.067836 56.07659 \n",
       "L 358.095504 49.652698 \n",
       "L 369.123172 48.216596 \n",
       "L 380.15084 44.951393 \n",
       "L 391.178508 41.928601 \n",
       "L 402.206176 39.548565 \n",
       "L 413.233844 38.762566 \n",
       "L 424.261512 36.896736 \n",
       "L 435.28918 35.40554 \n",
       "L 446.316848 33.815177 \n",
       "L 457.344516 32.614141 \n",
       "L 468.372184 31.045815 \n",
       "L 479.399852 28.941246 \n",
       "L 490.42752 28.199322 \n",
       "L 501.455188 27.74021 \n",
       "L 512.482856 27.303135 \n",
       "L 523.510524 26.792603 \n",
       "L 534.538192 26.267379 \n",
       "L 545.56586 25.903763 \n",
       "L 556.593528 25.742155 \n",
       "L 567.621196 25.59524 \n",
       "L 578.648864 25.525455 \n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"line2d_16\">\n",
       "    <path clip-path=\"url(#p975464da0e)\" d=\"M 71.376136 322.001489 \n",
       "L 82.403804 321.986798 \n",
       "L 93.431472 321.946396 \n",
       "L 104.45914 321.93905 \n",
       "L 115.486808 321.905994 \n",
       "L 126.514476 321.74806 \n",
       "L 137.542144 321.670929 \n",
       "L 148.569812 321.498303 \n",
       "L 159.59748 321.175088 \n",
       "L 170.625148 320.921658 \n",
       "L 181.652816 320.381743 \n",
       "L 192.680484 319.805099 \n",
       "L 203.708152 318.850146 \n",
       "L 214.73582 317.891521 \n",
       "L 225.763488 316.47011 \n",
       "L 236.791156 314.596934 \n",
       "L 247.818824 312.396871 \n",
       "L 258.846492 310.075601 \n",
       "L 269.87416 307.449482 \n",
       "L 280.901828 304.716848 \n",
       "L 291.929496 300.415889 \n",
       "L 302.957164 297.433499 \n",
       "L 313.984832 292.390615 \n",
       "L 325.0125 287.531376 \n",
       "L 336.040168 282.297501 \n",
       "L 347.067836 276.024197 \n",
       "L 358.095504 269.324838 \n",
       "L 369.123172 262.790759 \n",
       "L 380.15084 255.044625 \n",
       "L 391.178508 246.248043 \n",
       "L 402.206176 238.061161 \n",
       "L 413.233844 231.280998 \n",
       "L 424.261512 221.771874 \n",
       "L 435.28918 212.876124 \n",
       "L 446.316848 202.775665 \n",
       "L 457.344516 189.472441 \n",
       "L 468.372184 178.876141 \n",
       "L 479.399852 169.242139 \n",
       "L 490.42752 158.822138 \n",
       "L 501.455188 148.751061 \n",
       "L 512.482856 139.010545 \n",
       "L 523.510524 130.970579 \n",
       "L 534.538192 124.796444 \n",
       "L 545.56586 118.633327 \n",
       "L 556.593528 112.53265 \n",
       "L 567.621196 106.894757 \n",
       "L 578.648864 102.131013 \n",
       "\" style=\"fill:none;stroke:#ff7f0e;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"line2d_17\">\n",
       "    <path clip-path=\"url(#p975464da0e)\" d=\"M 71.376136 322.034545 \n",
       "L 82.403804 321.975779 \n",
       "L 93.431472 321.920686 \n",
       "L 104.45914 321.832536 \n",
       "L 115.486808 321.737041 \n",
       "L 126.514476 321.641546 \n",
       "L 137.542144 321.501976 \n",
       "L 148.569812 321.344041 \n",
       "L 159.59748 321.233854 \n",
       "L 170.625148 321.009808 \n",
       "L 181.652816 320.800453 \n",
       "L 192.680484 320.565388 \n",
       "L 203.708152 320.32665 \n",
       "L 214.73582 320.058528 \n",
       "L 225.763488 319.790407 \n",
       "L 236.791156 319.474538 \n",
       "L 247.818824 319.14765 \n",
       "L 258.846492 318.79138 \n",
       "L 269.87416 318.394707 \n",
       "L 280.901828 318.038436 \n",
       "L 291.929496 317.105521 \n",
       "L 302.957164 317.057774 \n",
       "L 313.984832 316.53255 \n",
       "L 325.0125 316.010999 \n",
       "L 336.040168 315.625345 \n",
       "L 347.067836 315.265401 \n",
       "L 358.095504 314.765887 \n",
       "L 369.123172 314.347178 \n",
       "L 380.15084 313.913776 \n",
       "L 391.178508 313.51343 \n",
       "L 402.206176 313.15716 \n",
       "L 413.233844 312.606226 \n",
       "L 424.261512 312.34545 \n",
       "L 435.28918 312.15446 \n",
       "L 446.316848 312.047946 \n",
       "L 457.344516 311.886338 \n",
       "L 468.372184 311.713712 \n",
       "L 479.399852 311.585161 \n",
       "L 490.42752 311.430899 \n",
       "L 501.455188 311.31704 \n",
       "L 512.482856 311.17747 \n",
       "L 523.510524 311.06361 \n",
       "L 534.538192 310.953423 \n",
       "L 545.56586 310.850582 \n",
       "L 556.593528 310.751414 \n",
       "L 567.621196 310.67061 \n",
       "L 578.648864 310.608171 \n",
       "\" style=\"fill:none;stroke:#2ca02c;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 46.0125 336.86 \n",
       "L 46.0125 10.7 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 604.0125 336.86 \n",
       "L 604.0125 10.7 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 46.0125 336.86 \n",
       "L 604.0125 336.86 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 46.0125 10.7 \n",
       "L 604.0125 10.7 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"legend_1\">\n",
       "    <g id=\"patch_7\">\n",
       "     <path d=\"M 53.0125 63.56875 \n",
       "L 163.032813 63.56875 \n",
       "Q 165.032813 63.56875 165.032813 61.56875 \n",
       "L 165.032813 17.7 \n",
       "Q 165.032813 15.7 163.032813 15.7 \n",
       "L 53.0125 15.7 \n",
       "Q 51.0125 15.7 51.0125 17.7 \n",
       "L 51.0125 61.56875 \n",
       "Q 51.0125 63.56875 53.0125 63.56875 \n",
       "z\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_18\">\n",
       "     <path d=\"M 55.0125 23.798437 \n",
       "L 75.0125 23.798437 \n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_19\"/>\n",
       "    <g id=\"text_11\">\n",
       "     <!-- confirmed_num -->\n",
       "     <defs>\n",
       "      <path d=\"M 48.78125 52.59375 \n",
       "L 48.78125 44.1875 \n",
       "Q 44.96875 46.296875 41.140625 47.34375 \n",
       "Q 37.3125 48.390625 33.40625 48.390625 \n",
       "Q 24.65625 48.390625 19.8125 42.84375 \n",
       "Q 14.984375 37.3125 14.984375 27.296875 \n",
       "Q 14.984375 17.28125 19.8125 11.734375 \n",
       "Q 24.65625 6.203125 33.40625 6.203125 \n",
       "Q 37.3125 6.203125 41.140625 7.25 \n",
       "Q 44.96875 8.296875 48.78125 10.40625 \n",
       "L 48.78125 2.09375 \n",
       "Q 45.015625 0.34375 40.984375 -0.53125 \n",
       "Q 36.96875 -1.421875 32.421875 -1.421875 \n",
       "Q 20.0625 -1.421875 12.78125 6.34375 \n",
       "Q 5.515625 14.109375 5.515625 27.296875 \n",
       "Q 5.515625 40.671875 12.859375 48.328125 \n",
       "Q 20.21875 56 33.015625 56 \n",
       "Q 37.15625 56 41.109375 55.140625 \n",
       "Q 45.0625 54.296875 48.78125 52.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-63\"/>\n",
       "      <path d=\"M 30.609375 48.390625 \n",
       "Q 23.390625 48.390625 19.1875 42.75 \n",
       "Q 14.984375 37.109375 14.984375 27.296875 \n",
       "Q 14.984375 17.484375 19.15625 11.84375 \n",
       "Q 23.34375 6.203125 30.609375 6.203125 \n",
       "Q 37.796875 6.203125 41.984375 11.859375 \n",
       "Q 46.1875 17.53125 46.1875 27.296875 \n",
       "Q 46.1875 37.015625 41.984375 42.703125 \n",
       "Q 37.796875 48.390625 30.609375 48.390625 \n",
       "z\n",
       "M 30.609375 56 \n",
       "Q 42.328125 56 49.015625 48.375 \n",
       "Q 55.71875 40.765625 55.71875 27.296875 \n",
       "Q 55.71875 13.875 49.015625 6.21875 \n",
       "Q 42.328125 -1.421875 30.609375 -1.421875 \n",
       "Q 18.84375 -1.421875 12.171875 6.21875 \n",
       "Q 5.515625 13.875 5.515625 27.296875 \n",
       "Q 5.515625 40.765625 12.171875 48.375 \n",
       "Q 18.84375 56 30.609375 56 \n",
       "z\n",
       "\" id=\"DejaVuSans-6f\"/>\n",
       "      <path d=\"M 54.890625 33.015625 \n",
       "L 54.890625 0 \n",
       "L 45.90625 0 \n",
       "L 45.90625 32.71875 \n",
       "Q 45.90625 40.484375 42.875 44.328125 \n",
       "Q 39.84375 48.1875 33.796875 48.1875 \n",
       "Q 26.515625 48.1875 22.3125 43.546875 \n",
       "Q 18.109375 38.921875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.34375 51.125 25.703125 53.5625 \n",
       "Q 30.078125 56 35.796875 56 \n",
       "Q 45.21875 56 50.046875 50.171875 \n",
       "Q 54.890625 44.34375 54.890625 33.015625 \n",
       "z\n",
       "\" id=\"DejaVuSans-6e\"/>\n",
       "      <path d=\"M 37.109375 75.984375 \n",
       "L 37.109375 68.5 \n",
       "L 28.515625 68.5 \n",
       "Q 23.6875 68.5 21.796875 66.546875 \n",
       "Q 19.921875 64.59375 19.921875 59.515625 \n",
       "L 19.921875 54.6875 \n",
       "L 34.71875 54.6875 \n",
       "L 34.71875 47.703125 \n",
       "L 19.921875 47.703125 \n",
       "L 19.921875 0 \n",
       "L 10.890625 0 \n",
       "L 10.890625 47.703125 \n",
       "L 2.296875 47.703125 \n",
       "L 2.296875 54.6875 \n",
       "L 10.890625 54.6875 \n",
       "L 10.890625 58.5 \n",
       "Q 10.890625 67.625 15.140625 71.796875 \n",
       "Q 19.390625 75.984375 28.609375 75.984375 \n",
       "z\n",
       "\" id=\"DejaVuSans-66\"/>\n",
       "      <path d=\"M 9.421875 54.6875 \n",
       "L 18.40625 54.6875 \n",
       "L 18.40625 0 \n",
       "L 9.421875 0 \n",
       "z\n",
       "M 9.421875 75.984375 \n",
       "L 18.40625 75.984375 \n",
       "L 18.40625 64.59375 \n",
       "L 9.421875 64.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-69\"/>\n",
       "      <path d=\"M 41.109375 46.296875 \n",
       "Q 39.59375 47.171875 37.8125 47.578125 \n",
       "Q 36.03125 48 33.890625 48 \n",
       "Q 26.265625 48 22.1875 43.046875 \n",
       "Q 18.109375 38.09375 18.109375 28.8125 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 20.953125 51.171875 25.484375 53.578125 \n",
       "Q 30.03125 56 36.53125 56 \n",
       "Q 37.453125 56 38.578125 55.875 \n",
       "Q 39.703125 55.765625 41.0625 55.515625 \n",
       "z\n",
       "\" id=\"DejaVuSans-72\"/>\n",
       "      <path d=\"M 52 44.1875 \n",
       "Q 55.375 50.25 60.0625 53.125 \n",
       "Q 64.75 56 71.09375 56 \n",
       "Q 79.640625 56 84.28125 50.015625 \n",
       "Q 88.921875 44.046875 88.921875 33.015625 \n",
       "L 88.921875 0 \n",
       "L 79.890625 0 \n",
       "L 79.890625 32.71875 \n",
       "Q 79.890625 40.578125 77.09375 44.375 \n",
       "Q 74.3125 48.1875 68.609375 48.1875 \n",
       "Q 61.625 48.1875 57.5625 43.546875 \n",
       "Q 53.515625 38.921875 53.515625 30.90625 \n",
       "L 53.515625 0 \n",
       "L 44.484375 0 \n",
       "L 44.484375 32.71875 \n",
       "Q 44.484375 40.625 41.703125 44.40625 \n",
       "Q 38.921875 48.1875 33.109375 48.1875 \n",
       "Q 26.21875 48.1875 22.15625 43.53125 \n",
       "Q 18.109375 38.875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.1875 51.21875 25.484375 53.609375 \n",
       "Q 29.78125 56 35.6875 56 \n",
       "Q 41.65625 56 45.828125 52.96875 \n",
       "Q 50 49.953125 52 44.1875 \n",
       "z\n",
       "\" id=\"DejaVuSans-6d\"/>\n",
       "      <path d=\"M 50.984375 -16.609375 \n",
       "L 50.984375 -23.578125 \n",
       "L -0.984375 -23.578125 \n",
       "L -0.984375 -16.609375 \n",
       "z\n",
       "\" id=\"DejaVuSans-5f\"/>\n",
       "      <path d=\"M 8.5 21.578125 \n",
       "L 8.5 54.6875 \n",
       "L 17.484375 54.6875 \n",
       "L 17.484375 21.921875 \n",
       "Q 17.484375 14.15625 20.5 10.265625 \n",
       "Q 23.53125 6.390625 29.59375 6.390625 \n",
       "Q 36.859375 6.390625 41.078125 11.03125 \n",
       "Q 45.3125 15.671875 45.3125 23.6875 \n",
       "L 45.3125 54.6875 \n",
       "L 54.296875 54.6875 \n",
       "L 54.296875 0 \n",
       "L 45.3125 0 \n",
       "L 45.3125 8.40625 \n",
       "Q 42.046875 3.421875 37.71875 1 \n",
       "Q 33.40625 -1.421875 27.6875 -1.421875 \n",
       "Q 18.265625 -1.421875 13.375 4.4375 \n",
       "Q 8.5 10.296875 8.5 21.578125 \n",
       "z\n",
       "M 31.109375 56 \n",
       "z\n",
       "\" id=\"DejaVuSans-75\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(83.0125 27.298437)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-63\"/>\n",
       "      <use x=\"54.980469\" xlink:href=\"#DejaVuSans-6f\"/>\n",
       "      <use x=\"116.162109\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"179.541016\" xlink:href=\"#DejaVuSans-66\"/>\n",
       "      <use x=\"214.746094\" xlink:href=\"#DejaVuSans-69\"/>\n",
       "      <use x=\"242.529297\" xlink:href=\"#DejaVuSans-72\"/>\n",
       "      <use x=\"283.626953\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "      <use x=\"381.039062\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "      <use x=\"442.5625\" xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"506.039062\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"556.039062\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"619.417969\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"682.796875\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"line2d_20\">\n",
       "     <path d=\"M 55.0125 38.754687 \n",
       "L 75.0125 38.754687 \n",
       "\" style=\"fill:none;stroke:#ff7f0e;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_21\"/>\n",
       "    <g id=\"text_12\">\n",
       "     <!-- cured_num -->\n",
       "     <g transform=\"translate(83.0125 42.254687)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-63\"/>\n",
       "      <use x=\"54.980469\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"118.359375\" xlink:href=\"#DejaVuSans-72\"/>\n",
       "      <use x=\"159.441406\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "      <use x=\"220.964844\" xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"284.441406\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"334.441406\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"397.820312\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"461.199219\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"line2d_22\">\n",
       "     <path d=\"M 55.0125 53.710938 \n",
       "L 75.0125 53.710938 \n",
       "\" style=\"fill:none;stroke:#2ca02c;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_23\"/>\n",
       "    <g id=\"text_13\">\n",
       "     <!-- dead_num -->\n",
       "     <g transform=\"translate(83.0125 57.210938)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"63.476562\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "      <use x=\"125\" xlink:href=\"#DejaVuSans-61\"/>\n",
       "      <use x=\"186.279297\" xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"249.755859\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"299.755859\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"363.134766\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"426.513672\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"p975464da0e\">\n",
       "   <rect height=\"326.16\" width=\"558\" x=\"46.0125\" y=\"10.7\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format='svg'\n",
    "\n",
    "df = pd.read_csv(\"./data/covid-19.csv\", sep='\\t')\n",
    "df.plot(x=\"date\", y=[\"confirmed_num\", \"cured_num\", \"dead_num\"], figsize=(10, 6))\n",
    "plt.xticks(rotation=60)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Created with matplotlib (http://matplotlib.org/) -->\n",
       "<svg height=\"364.738125pt\" version=\"1.1\" viewBox=\"0 0 614.7125 364.738125\" width=\"614.7125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       " <defs>\n",
       "  <style type=\"text/css\">\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;}\n",
       "  </style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 364.738125 \n",
       "L 614.7125 364.738125 \n",
       "L 614.7125 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill:none;\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 46.0125 336.86 \n",
       "L 604.0125 336.86 \n",
       "L 604.0125 10.7 \n",
       "L 46.0125 10.7 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 0 3.5 \n",
       "\" id=\"mf1bf560d12\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"71.376136\" xlink:href=\"#mf1bf560d12\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"184.103409\" xlink:href=\"#mf1bf560d12\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"296.830682\" xlink:href=\"#mf1bf560d12\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"409.557955\" xlink:href=\"#mf1bf560d12\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"522.285227\" xlink:href=\"#mf1bf560d12\" y=\"336.86\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_1\">\n",
       "     <!-- date -->\n",
       "     <defs>\n",
       "      <path d=\"M 45.40625 46.390625 \n",
       "L 45.40625 75.984375 \n",
       "L 54.390625 75.984375 \n",
       "L 54.390625 0 \n",
       "L 45.40625 0 \n",
       "L 45.40625 8.203125 \n",
       "Q 42.578125 3.328125 38.25 0.953125 \n",
       "Q 33.9375 -1.421875 27.875 -1.421875 \n",
       "Q 17.96875 -1.421875 11.734375 6.484375 \n",
       "Q 5.515625 14.40625 5.515625 27.296875 \n",
       "Q 5.515625 40.1875 11.734375 48.09375 \n",
       "Q 17.96875 56 27.875 56 \n",
       "Q 33.9375 56 38.25 53.625 \n",
       "Q 42.578125 51.265625 45.40625 46.390625 \n",
       "z\n",
       "M 14.796875 27.296875 \n",
       "Q 14.796875 17.390625 18.875 11.75 \n",
       "Q 22.953125 6.109375 30.078125 6.109375 \n",
       "Q 37.203125 6.109375 41.296875 11.75 \n",
       "Q 45.40625 17.390625 45.40625 27.296875 \n",
       "Q 45.40625 37.203125 41.296875 42.84375 \n",
       "Q 37.203125 48.484375 30.078125 48.484375 \n",
       "Q 22.953125 48.484375 18.875 42.84375 \n",
       "Q 14.796875 37.203125 14.796875 27.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-64\"/>\n",
       "      <path d=\"M 34.28125 27.484375 \n",
       "Q 23.390625 27.484375 19.1875 25 \n",
       "Q 14.984375 22.515625 14.984375 16.5 \n",
       "Q 14.984375 11.71875 18.140625 8.90625 \n",
       "Q 21.296875 6.109375 26.703125 6.109375 \n",
       "Q 34.1875 6.109375 38.703125 11.40625 \n",
       "Q 43.21875 16.703125 43.21875 25.484375 \n",
       "L 43.21875 27.484375 \n",
       "z\n",
       "M 52.203125 31.203125 \n",
       "L 52.203125 0 \n",
       "L 43.21875 0 \n",
       "L 43.21875 8.296875 \n",
       "Q 40.140625 3.328125 35.546875 0.953125 \n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \n",
       "Q 6 8.015625 6 15.921875 \n",
       "Q 6 25.140625 12.171875 29.828125 \n",
       "Q 18.359375 34.515625 30.609375 34.515625 \n",
       "L 43.21875 34.515625 \n",
       "L 43.21875 35.40625 \n",
       "Q 43.21875 41.609375 39.140625 45 \n",
       "Q 35.0625 48.390625 27.6875 48.390625 \n",
       "Q 23 48.390625 18.546875 47.265625 \n",
       "Q 14.109375 46.140625 10.015625 43.890625 \n",
       "L 10.015625 52.203125 \n",
       "Q 14.9375 54.109375 19.578125 55.046875 \n",
       "Q 24.21875 56 28.609375 56 \n",
       "Q 40.484375 56 46.34375 49.84375 \n",
       "Q 52.203125 43.703125 52.203125 31.203125 \n",
       "z\n",
       "\" id=\"DejaVuSans-61\"/>\n",
       "      <path d=\"M 18.3125 70.21875 \n",
       "L 18.3125 54.6875 \n",
       "L 36.8125 54.6875 \n",
       "L 36.8125 47.703125 \n",
       "L 18.3125 47.703125 \n",
       "L 18.3125 18.015625 \n",
       "Q 18.3125 11.328125 20.140625 9.421875 \n",
       "Q 21.96875 7.515625 27.59375 7.515625 \n",
       "L 36.8125 7.515625 \n",
       "L 36.8125 0 \n",
       "L 27.59375 0 \n",
       "Q 17.1875 0 13.234375 3.875 \n",
       "Q 9.28125 7.765625 9.28125 18.015625 \n",
       "L 9.28125 47.703125 \n",
       "L 2.6875 47.703125 \n",
       "L 2.6875 54.6875 \n",
       "L 9.28125 54.6875 \n",
       "L 9.28125 70.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-74\"/>\n",
       "      <path d=\"M 56.203125 29.59375 \n",
       "L 56.203125 25.203125 \n",
       "L 14.890625 25.203125 \n",
       "Q 15.484375 15.921875 20.484375 11.0625 \n",
       "Q 25.484375 6.203125 34.421875 6.203125 \n",
       "Q 39.59375 6.203125 44.453125 7.46875 \n",
       "Q 49.3125 8.734375 54.109375 11.28125 \n",
       "L 54.109375 2.78125 \n",
       "Q 49.265625 0.734375 44.1875 -0.34375 \n",
       "Q 39.109375 -1.421875 33.890625 -1.421875 \n",
       "Q 20.796875 -1.421875 13.15625 6.1875 \n",
       "Q 5.515625 13.8125 5.515625 26.8125 \n",
       "Q 5.515625 40.234375 12.765625 48.109375 \n",
       "Q 20.015625 56 32.328125 56 \n",
       "Q 43.359375 56 49.78125 48.890625 \n",
       "Q 56.203125 41.796875 56.203125 29.59375 \n",
       "z\n",
       "M 47.21875 32.234375 \n",
       "Q 47.125 39.59375 43.09375 43.984375 \n",
       "Q 39.0625 48.390625 32.421875 48.390625 \n",
       "Q 24.90625 48.390625 20.390625 44.140625 \n",
       "Q 15.875 39.890625 15.1875 32.171875 \n",
       "z\n",
       "\" id=\"DejaVuSans-65\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(313.7375 355.458437)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"63.476562\" xlink:href=\"#DejaVuSans-61\"/>\n",
       "      <use x=\"124.755859\" xlink:href=\"#DejaVuSans-74\"/>\n",
       "      <use x=\"163.964844\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_6\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L -3.5 0 \n",
       "\" id=\"me849656974\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"322.073691\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- 0 -->\n",
       "      <defs>\n",
       "       <path d=\"M 31.78125 66.40625 \n",
       "Q 24.171875 66.40625 20.328125 58.90625 \n",
       "Q 16.5 51.421875 16.5 36.375 \n",
       "Q 16.5 21.390625 20.328125 13.890625 \n",
       "Q 24.171875 6.390625 31.78125 6.390625 \n",
       "Q 39.453125 6.390625 43.28125 13.890625 \n",
       "Q 47.125 21.390625 47.125 36.375 \n",
       "Q 47.125 51.421875 43.28125 58.90625 \n",
       "Q 39.453125 66.40625 31.78125 66.40625 \n",
       "z\n",
       "M 31.78125 74.21875 \n",
       "Q 44.046875 74.21875 50.515625 64.515625 \n",
       "Q 56.984375 54.828125 56.984375 36.375 \n",
       "Q 56.984375 17.96875 50.515625 8.265625 \n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \n",
       "Q 6.59375 17.96875 6.59375 36.375 \n",
       "Q 6.59375 54.828125 13.0625 64.515625 \n",
       "Q 19.53125 74.21875 31.78125 74.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-30\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(32.65 325.87291)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"282.927993\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 2000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 19.1875 8.296875 \n",
       "L 53.609375 8.296875 \n",
       "L 53.609375 0 \n",
       "L 7.328125 0 \n",
       "L 7.328125 8.296875 \n",
       "Q 12.9375 14.109375 22.625 23.890625 \n",
       "Q 32.328125 33.6875 34.8125 36.53125 \n",
       "Q 39.546875 41.84375 41.421875 45.53125 \n",
       "Q 43.3125 49.21875 43.3125 52.78125 \n",
       "Q 43.3125 58.59375 39.234375 62.25 \n",
       "Q 35.15625 65.921875 28.609375 65.921875 \n",
       "Q 23.96875 65.921875 18.8125 64.3125 \n",
       "Q 13.671875 62.703125 7.8125 59.421875 \n",
       "L 7.8125 69.390625 \n",
       "Q 13.765625 71.78125 18.9375 73 \n",
       "Q 24.125 74.21875 28.421875 74.21875 \n",
       "Q 39.75 74.21875 46.484375 68.546875 \n",
       "Q 53.21875 62.890625 53.21875 53.421875 \n",
       "Q 53.21875 48.921875 51.53125 44.890625 \n",
       "Q 49.859375 40.875 45.40625 35.40625 \n",
       "Q 44.1875 33.984375 37.640625 27.21875 \n",
       "Q 31.109375 20.453125 19.1875 8.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-32\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(13.5625 286.727212)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"243.782295\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 4000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 37.796875 64.3125 \n",
       "L 12.890625 25.390625 \n",
       "L 37.796875 25.390625 \n",
       "z\n",
       "M 35.203125 72.90625 \n",
       "L 47.609375 72.90625 \n",
       "L 47.609375 25.390625 \n",
       "L 58.015625 25.390625 \n",
       "L 58.015625 17.1875 \n",
       "L 47.609375 17.1875 \n",
       "L 47.609375 0 \n",
       "L 37.796875 0 \n",
       "L 37.796875 17.1875 \n",
       "L 4.890625 17.1875 \n",
       "L 4.890625 26.703125 \n",
       "z\n",
       "\" id=\"DejaVuSans-34\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(13.5625 247.581514)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-34\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_9\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"204.636597\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 6000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 33.015625 40.375 \n",
       "Q 26.375 40.375 22.484375 35.828125 \n",
       "Q 18.609375 31.296875 18.609375 23.390625 \n",
       "Q 18.609375 15.53125 22.484375 10.953125 \n",
       "Q 26.375 6.390625 33.015625 6.390625 \n",
       "Q 39.65625 6.390625 43.53125 10.953125 \n",
       "Q 47.40625 15.53125 47.40625 23.390625 \n",
       "Q 47.40625 31.296875 43.53125 35.828125 \n",
       "Q 39.65625 40.375 33.015625 40.375 \n",
       "z\n",
       "M 52.59375 71.296875 \n",
       "L 52.59375 62.3125 \n",
       "Q 48.875 64.0625 45.09375 64.984375 \n",
       "Q 41.3125 65.921875 37.59375 65.921875 \n",
       "Q 27.828125 65.921875 22.671875 59.328125 \n",
       "Q 17.53125 52.734375 16.796875 39.40625 \n",
       "Q 19.671875 43.65625 24.015625 45.921875 \n",
       "Q 28.375 48.1875 33.59375 48.1875 \n",
       "Q 44.578125 48.1875 50.953125 41.515625 \n",
       "Q 57.328125 34.859375 57.328125 23.390625 \n",
       "Q 57.328125 12.15625 50.6875 5.359375 \n",
       "Q 44.046875 -1.421875 33.015625 -1.421875 \n",
       "Q 20.359375 -1.421875 13.671875 8.265625 \n",
       "Q 6.984375 17.96875 6.984375 36.375 \n",
       "Q 6.984375 53.65625 15.1875 63.9375 \n",
       "Q 23.390625 74.21875 37.203125 74.21875 \n",
       "Q 40.921875 74.21875 44.703125 73.484375 \n",
       "Q 48.484375 72.75 52.59375 71.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-36\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(13.5625 208.435815)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-36\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_10\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"165.490898\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      <!-- 8000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 31.78125 34.625 \n",
       "Q 24.75 34.625 20.71875 30.859375 \n",
       "Q 16.703125 27.09375 16.703125 20.515625 \n",
       "Q 16.703125 13.921875 20.71875 10.15625 \n",
       "Q 24.75 6.390625 31.78125 6.390625 \n",
       "Q 38.8125 6.390625 42.859375 10.171875 \n",
       "Q 46.921875 13.96875 46.921875 20.515625 \n",
       "Q 46.921875 27.09375 42.890625 30.859375 \n",
       "Q 38.875 34.625 31.78125 34.625 \n",
       "z\n",
       "M 21.921875 38.8125 \n",
       "Q 15.578125 40.375 12.03125 44.71875 \n",
       "Q 8.5 49.078125 8.5 55.328125 \n",
       "Q 8.5 64.0625 14.71875 69.140625 \n",
       "Q 20.953125 74.21875 31.78125 74.21875 \n",
       "Q 42.671875 74.21875 48.875 69.140625 \n",
       "Q 55.078125 64.0625 55.078125 55.328125 \n",
       "Q 55.078125 49.078125 51.53125 44.71875 \n",
       "Q 48 40.375 41.703125 38.8125 \n",
       "Q 48.828125 37.15625 52.796875 32.3125 \n",
       "Q 56.78125 27.484375 56.78125 20.515625 \n",
       "Q 56.78125 9.90625 50.3125 4.234375 \n",
       "Q 43.84375 -1.421875 31.78125 -1.421875 \n",
       "Q 19.734375 -1.421875 13.25 4.234375 \n",
       "Q 6.78125 9.90625 6.78125 20.515625 \n",
       "Q 6.78125 27.484375 10.78125 32.3125 \n",
       "Q 14.796875 37.15625 21.921875 38.8125 \n",
       "z\n",
       "M 18.3125 54.390625 \n",
       "Q 18.3125 48.734375 21.84375 45.5625 \n",
       "Q 25.390625 42.390625 31.78125 42.390625 \n",
       "Q 38.140625 42.390625 41.71875 45.5625 \n",
       "Q 45.3125 48.734375 45.3125 54.390625 \n",
       "Q 45.3125 60.0625 41.71875 63.234375 \n",
       "Q 38.140625 66.40625 31.78125 66.40625 \n",
       "Q 25.390625 66.40625 21.84375 63.234375 \n",
       "Q 18.3125 60.0625 18.3125 54.390625 \n",
       "z\n",
       "\" id=\"DejaVuSans-38\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(13.5625 169.290117)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-38\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_11\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"126.3452\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_7\">\n",
       "      <!-- 10000 -->\n",
       "      <defs>\n",
       "       <path d=\"M 12.40625 8.296875 \n",
       "L 28.515625 8.296875 \n",
       "L 28.515625 63.921875 \n",
       "L 10.984375 60.40625 \n",
       "L 10.984375 69.390625 \n",
       "L 28.421875 72.90625 \n",
       "L 38.28125 72.90625 \n",
       "L 38.28125 8.296875 \n",
       "L 54.390625 8.296875 \n",
       "L 54.390625 0 \n",
       "L 12.40625 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-31\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(7.2 130.144419)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"line2d_12\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"87.199502\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 12000 -->\n",
       "      <g transform=\"translate(7.2 90.998721)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-32\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_8\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"46.0125\" xlink:href=\"#me849656974\" y=\"48.053804\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 14000 -->\n",
       "      <g transform=\"translate(7.2 51.853023)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-34\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"190.869141\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"254.492188\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"line2d_14\">\n",
       "    <path clip-path=\"url(#p0159ce8f07)\" d=\"M 71.376136 313.128899 \n",
       "L 82.648864 308.607571 \n",
       "L 93.921591 307.02217 \n",
       "L 105.194318 287.410175 \n",
       "L 116.467045 293.516904 \n",
       "L 127.739773 288.075652 \n",
       "L 139.0125 283.299877 \n",
       "L 150.285227 280.990281 \n",
       "L 161.557955 271.399585 \n",
       "L 172.830682 266.780392 \n",
       "L 184.103409 258.79467 \n",
       "L 195.376136 246.0136 \n",
       "L 206.648864 249.771587 \n",
       "L 217.921591 260.556226 \n",
       "L 229.194318 255.819597 \n",
       "L 240.467045 270.166495 \n",
       "L 251.739773 263.883611 \n",
       "L 263.0125 273.787472 \n",
       "L 274.285227 282.6344 \n",
       "L 285.557955 25.525455 \n",
       "L 296.830682 242.862371 \n",
       "L 308.103409 270.381797 \n",
       "L 319.376136 282.77141 \n",
       "L 330.648864 281.988496 \n",
       "L 341.921591 285.120152 \n",
       "L 353.194318 287.840778 \n",
       "L 364.467045 314.420707 \n",
       "L 375.739773 304.673428 \n",
       "L 387.0125 305.965236 \n",
       "L 398.285227 309.390485 \n",
       "L 409.557955 317.885101 \n",
       "L 420.830682 312.130684 \n",
       "L 432.103409 314.127114 \n",
       "L 443.376136 313.598647 \n",
       "L 454.648864 315.673369 \n",
       "L 465.921591 313.716085 \n",
       "L 477.194318 310.858449 \n",
       "L 488.467045 318.119976 \n",
       "L 499.739773 319.627085 \n",
       "L 511.0125 319.744522 \n",
       "L 522.285227 319.353065 \n",
       "L 533.557955 319.274774 \n",
       "L 544.830682 320.135979 \n",
       "L 556.103409 321.212486 \n",
       "L 567.376136 321.290777 \n",
       "L 578.648864 321.701807 \n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"line2d_15\">\n",
       "    <path clip-path=\"url(#p0159ce8f07)\" d=\"M 71.376136 321.9954 \n",
       "L 82.648864 321.85839 \n",
       "L 93.921591 322.034545 \n",
       "L 105.194318 321.897536 \n",
       "L 116.467045 321.232059 \n",
       "L 127.739773 321.662661 \n",
       "L 139.0125 321.153767 \n",
       "L 150.285227 320.35128 \n",
       "L 161.557955 320.723165 \n",
       "L 172.830682 319.196482 \n",
       "L 184.103409 319.000754 \n",
       "L 195.376136 316.98475 \n",
       "L 206.648864 316.965178 \n",
       "L 217.921591 314.498999 \n",
       "L 229.194318 312.091538 \n",
       "L 240.467045 310.349555 \n",
       "L 251.739773 309.703651 \n",
       "L 263.0125 308.079104 \n",
       "L 274.285227 307.511491 \n",
       "L 285.557955 299.153885 \n",
       "L 296.830682 306.180538 \n",
       "L 308.103409 295.200169 \n",
       "L 319.376136 296.178812 \n",
       "L 330.648864 294.182381 \n",
       "L 341.921591 288.643265 \n",
       "L 353.194318 286.372814 \n",
       "L 364.467045 287.253593 \n",
       "L 375.739773 280.794552 \n",
       "L 387.0125 275.196718 \n",
       "L 398.285227 278.445811 \n",
       "L 409.557955 285.942212 \n",
       "L 420.830682 271.399585 \n",
       "L 432.103409 274.668251 \n",
       "L 443.376136 268.248356 \n",
       "L 454.648864 251.180832 \n",
       "L 465.921591 265.606022 \n",
       "L 477.194318 270.734108 \n",
       "L 488.467045 266.545518 \n",
       "L 499.739773 268.404939 \n",
       "L 511.0125 270.166495 \n",
       "L 522.285227 279.228724 \n",
       "L 533.557955 289.171732 \n",
       "L 544.830682 289.23045 \n",
       "L 556.103409 289.563189 \n",
       "L 567.376136 292.029368 \n",
       "L 578.648864 296.687706 \n",
       "\" style=\"fill:none;stroke:#ff7f0e;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"line2d_16\">\n",
       "    <path clip-path=\"url(#p0159ce8f07)\" d=\"M 71.376136 321.760526 \n",
       "L 82.648864 321.780098 \n",
       "L 93.921591 321.603943 \n",
       "L 105.194318 321.564797 \n",
       "L 116.467045 321.564797 \n",
       "L 127.739773 321.329923 \n",
       "L 139.0125 321.232059 \n",
       "L 150.285227 321.486506 \n",
       "L 161.557955 320.879747 \n",
       "L 172.830682 320.958039 \n",
       "L 184.103409 320.821029 \n",
       "L 195.376136 320.801456 \n",
       "L 206.648864 320.644873 \n",
       "L 217.921591 320.644873 \n",
       "L 229.194318 320.390426 \n",
       "L 240.467045 320.331708 \n",
       "L 251.739773 320.175125 \n",
       "L 263.0125 319.959823 \n",
       "L 274.285227 320.175125 \n",
       "L 285.557955 317.102187 \n",
       "L 296.830682 321.819244 \n",
       "L 308.103409 319.274774 \n",
       "L 319.376136 319.294347 \n",
       "L 330.648864 320.018542 \n",
       "L 341.921591 320.155552 \n",
       "L 353.194318 319.411784 \n",
       "L 364.467045 319.842386 \n",
       "L 375.739773 319.764095 \n",
       "L 387.0125 319.940251 \n",
       "L 398.285227 320.175125 \n",
       "L 409.557955 319.137764 \n",
       "L 420.830682 320.684019 \n",
       "L 432.103409 321.055903 \n",
       "L 443.376136 321.506079 \n",
       "L 454.648864 321.212486 \n",
       "L 465.921591 321.153767 \n",
       "L 477.194318 321.388641 \n",
       "L 488.467045 321.251631 \n",
       "L 499.739773 321.466933 \n",
       "L 511.0125 321.329923 \n",
       "L 522.285227 321.466933 \n",
       "L 533.557955 321.486506 \n",
       "L 544.830682 321.525651 \n",
       "L 556.103409 321.545224 \n",
       "L 567.376136 321.643088 \n",
       "L 578.648864 321.740953 \n",
       "\" style=\"fill:none;stroke:#2ca02c;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 46.0125 336.86 \n",
       "L 46.0125 10.7 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 604.0125 336.86 \n",
       "L 604.0125 10.7 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 46.0125 336.86 \n",
       "L 604.0125 336.86 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 46.0125 10.7 \n",
       "L 604.0125 10.7 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"legend_1\">\n",
       "    <g id=\"patch_7\">\n",
       "     <path d=\"M 486.992188 63.56875 \n",
       "L 597.0125 63.56875 \n",
       "Q 599.0125 63.56875 599.0125 61.56875 \n",
       "L 599.0125 17.7 \n",
       "Q 599.0125 15.7 597.0125 15.7 \n",
       "L 486.992188 15.7 \n",
       "Q 484.992188 15.7 484.992188 17.7 \n",
       "L 484.992188 61.56875 \n",
       "Q 484.992188 63.56875 486.992188 63.56875 \n",
       "z\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_17\">\n",
       "     <path d=\"M 488.992188 23.798437 \n",
       "L 508.992188 23.798437 \n",
       "\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_18\"/>\n",
       "    <g id=\"text_10\">\n",
       "     <!-- confirmed_num -->\n",
       "     <defs>\n",
       "      <path d=\"M 48.78125 52.59375 \n",
       "L 48.78125 44.1875 \n",
       "Q 44.96875 46.296875 41.140625 47.34375 \n",
       "Q 37.3125 48.390625 33.40625 48.390625 \n",
       "Q 24.65625 48.390625 19.8125 42.84375 \n",
       "Q 14.984375 37.3125 14.984375 27.296875 \n",
       "Q 14.984375 17.28125 19.8125 11.734375 \n",
       "Q 24.65625 6.203125 33.40625 6.203125 \n",
       "Q 37.3125 6.203125 41.140625 7.25 \n",
       "Q 44.96875 8.296875 48.78125 10.40625 \n",
       "L 48.78125 2.09375 \n",
       "Q 45.015625 0.34375 40.984375 -0.53125 \n",
       "Q 36.96875 -1.421875 32.421875 -1.421875 \n",
       "Q 20.0625 -1.421875 12.78125 6.34375 \n",
       "Q 5.515625 14.109375 5.515625 27.296875 \n",
       "Q 5.515625 40.671875 12.859375 48.328125 \n",
       "Q 20.21875 56 33.015625 56 \n",
       "Q 37.15625 56 41.109375 55.140625 \n",
       "Q 45.0625 54.296875 48.78125 52.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-63\"/>\n",
       "      <path d=\"M 30.609375 48.390625 \n",
       "Q 23.390625 48.390625 19.1875 42.75 \n",
       "Q 14.984375 37.109375 14.984375 27.296875 \n",
       "Q 14.984375 17.484375 19.15625 11.84375 \n",
       "Q 23.34375 6.203125 30.609375 6.203125 \n",
       "Q 37.796875 6.203125 41.984375 11.859375 \n",
       "Q 46.1875 17.53125 46.1875 27.296875 \n",
       "Q 46.1875 37.015625 41.984375 42.703125 \n",
       "Q 37.796875 48.390625 30.609375 48.390625 \n",
       "z\n",
       "M 30.609375 56 \n",
       "Q 42.328125 56 49.015625 48.375 \n",
       "Q 55.71875 40.765625 55.71875 27.296875 \n",
       "Q 55.71875 13.875 49.015625 6.21875 \n",
       "Q 42.328125 -1.421875 30.609375 -1.421875 \n",
       "Q 18.84375 -1.421875 12.171875 6.21875 \n",
       "Q 5.515625 13.875 5.515625 27.296875 \n",
       "Q 5.515625 40.765625 12.171875 48.375 \n",
       "Q 18.84375 56 30.609375 56 \n",
       "z\n",
       "\" id=\"DejaVuSans-6f\"/>\n",
       "      <path d=\"M 54.890625 33.015625 \n",
       "L 54.890625 0 \n",
       "L 45.90625 0 \n",
       "L 45.90625 32.71875 \n",
       "Q 45.90625 40.484375 42.875 44.328125 \n",
       "Q 39.84375 48.1875 33.796875 48.1875 \n",
       "Q 26.515625 48.1875 22.3125 43.546875 \n",
       "Q 18.109375 38.921875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.34375 51.125 25.703125 53.5625 \n",
       "Q 30.078125 56 35.796875 56 \n",
       "Q 45.21875 56 50.046875 50.171875 \n",
       "Q 54.890625 44.34375 54.890625 33.015625 \n",
       "z\n",
       "\" id=\"DejaVuSans-6e\"/>\n",
       "      <path d=\"M 37.109375 75.984375 \n",
       "L 37.109375 68.5 \n",
       "L 28.515625 68.5 \n",
       "Q 23.6875 68.5 21.796875 66.546875 \n",
       "Q 19.921875 64.59375 19.921875 59.515625 \n",
       "L 19.921875 54.6875 \n",
       "L 34.71875 54.6875 \n",
       "L 34.71875 47.703125 \n",
       "L 19.921875 47.703125 \n",
       "L 19.921875 0 \n",
       "L 10.890625 0 \n",
       "L 10.890625 47.703125 \n",
       "L 2.296875 47.703125 \n",
       "L 2.296875 54.6875 \n",
       "L 10.890625 54.6875 \n",
       "L 10.890625 58.5 \n",
       "Q 10.890625 67.625 15.140625 71.796875 \n",
       "Q 19.390625 75.984375 28.609375 75.984375 \n",
       "z\n",
       "\" id=\"DejaVuSans-66\"/>\n",
       "      <path d=\"M 9.421875 54.6875 \n",
       "L 18.40625 54.6875 \n",
       "L 18.40625 0 \n",
       "L 9.421875 0 \n",
       "z\n",
       "M 9.421875 75.984375 \n",
       "L 18.40625 75.984375 \n",
       "L 18.40625 64.59375 \n",
       "L 9.421875 64.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-69\"/>\n",
       "      <path d=\"M 41.109375 46.296875 \n",
       "Q 39.59375 47.171875 37.8125 47.578125 \n",
       "Q 36.03125 48 33.890625 48 \n",
       "Q 26.265625 48 22.1875 43.046875 \n",
       "Q 18.109375 38.09375 18.109375 28.8125 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 20.953125 51.171875 25.484375 53.578125 \n",
       "Q 30.03125 56 36.53125 56 \n",
       "Q 37.453125 56 38.578125 55.875 \n",
       "Q 39.703125 55.765625 41.0625 55.515625 \n",
       "z\n",
       "\" id=\"DejaVuSans-72\"/>\n",
       "      <path d=\"M 52 44.1875 \n",
       "Q 55.375 50.25 60.0625 53.125 \n",
       "Q 64.75 56 71.09375 56 \n",
       "Q 79.640625 56 84.28125 50.015625 \n",
       "Q 88.921875 44.046875 88.921875 33.015625 \n",
       "L 88.921875 0 \n",
       "L 79.890625 0 \n",
       "L 79.890625 32.71875 \n",
       "Q 79.890625 40.578125 77.09375 44.375 \n",
       "Q 74.3125 48.1875 68.609375 48.1875 \n",
       "Q 61.625 48.1875 57.5625 43.546875 \n",
       "Q 53.515625 38.921875 53.515625 30.90625 \n",
       "L 53.515625 0 \n",
       "L 44.484375 0 \n",
       "L 44.484375 32.71875 \n",
       "Q 44.484375 40.625 41.703125 44.40625 \n",
       "Q 38.921875 48.1875 33.109375 48.1875 \n",
       "Q 26.21875 48.1875 22.15625 43.53125 \n",
       "Q 18.109375 38.875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.1875 51.21875 25.484375 53.609375 \n",
       "Q 29.78125 56 35.6875 56 \n",
       "Q 41.65625 56 45.828125 52.96875 \n",
       "Q 50 49.953125 52 44.1875 \n",
       "z\n",
       "\" id=\"DejaVuSans-6d\"/>\n",
       "      <path d=\"M 50.984375 -16.609375 \n",
       "L 50.984375 -23.578125 \n",
       "L -0.984375 -23.578125 \n",
       "L -0.984375 -16.609375 \n",
       "z\n",
       "\" id=\"DejaVuSans-5f\"/>\n",
       "      <path d=\"M 8.5 21.578125 \n",
       "L 8.5 54.6875 \n",
       "L 17.484375 54.6875 \n",
       "L 17.484375 21.921875 \n",
       "Q 17.484375 14.15625 20.5 10.265625 \n",
       "Q 23.53125 6.390625 29.59375 6.390625 \n",
       "Q 36.859375 6.390625 41.078125 11.03125 \n",
       "Q 45.3125 15.671875 45.3125 23.6875 \n",
       "L 45.3125 54.6875 \n",
       "L 54.296875 54.6875 \n",
       "L 54.296875 0 \n",
       "L 45.3125 0 \n",
       "L 45.3125 8.40625 \n",
       "Q 42.046875 3.421875 37.71875 1 \n",
       "Q 33.40625 -1.421875 27.6875 -1.421875 \n",
       "Q 18.265625 -1.421875 13.375 4.4375 \n",
       "Q 8.5 10.296875 8.5 21.578125 \n",
       "z\n",
       "M 31.109375 56 \n",
       "z\n",
       "\" id=\"DejaVuSans-75\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(516.992188 27.298437)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-63\"/>\n",
       "      <use x=\"54.980469\" xlink:href=\"#DejaVuSans-6f\"/>\n",
       "      <use x=\"116.162109\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"179.541016\" xlink:href=\"#DejaVuSans-66\"/>\n",
       "      <use x=\"214.746094\" xlink:href=\"#DejaVuSans-69\"/>\n",
       "      <use x=\"242.529297\" xlink:href=\"#DejaVuSans-72\"/>\n",
       "      <use x=\"283.626953\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "      <use x=\"381.039062\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "      <use x=\"442.5625\" xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"506.039062\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"556.039062\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"619.417969\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"682.796875\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"line2d_19\">\n",
       "     <path d=\"M 488.992188 38.754687 \n",
       "L 508.992188 38.754687 \n",
       "\" style=\"fill:none;stroke:#ff7f0e;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_20\"/>\n",
       "    <g id=\"text_11\">\n",
       "     <!-- cured_num -->\n",
       "     <g transform=\"translate(516.992188 42.254687)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-63\"/>\n",
       "      <use x=\"54.980469\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"118.359375\" xlink:href=\"#DejaVuSans-72\"/>\n",
       "      <use x=\"159.441406\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "      <use x=\"220.964844\" xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"284.441406\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"334.441406\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"397.820312\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"461.199219\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"line2d_21\">\n",
       "     <path d=\"M 488.992188 53.710938 \n",
       "L 508.992188 53.710938 \n",
       "\" style=\"fill:none;stroke:#2ca02c;stroke-linecap:square;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_22\"/>\n",
       "    <g id=\"text_12\">\n",
       "     <!-- dead_num -->\n",
       "     <g transform=\"translate(516.992188 57.210938)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"63.476562\" xlink:href=\"#DejaVuSans-65\"/>\n",
       "      <use x=\"125\" xlink:href=\"#DejaVuSans-61\"/>\n",
       "      <use x=\"186.279297\" xlink:href=\"#DejaVuSans-64\"/>\n",
       "      <use x=\"249.755859\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"299.755859\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"363.134766\" xlink:href=\"#DejaVuSans-75\"/>\n",
       "      <use x=\"426.513672\" xlink:href=\"#DejaVuSans-6d\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"p0159ce8f07\">\n",
       "   <rect height=\"326.16\" width=\"558\" x=\"46.0125\" y=\"10.7\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dfdata = df.set_index(\"date\")\n",
    "dfdiff = dfdata.diff(periods=1).dropna()\n",
    "dfdiff = dfdiff.reset_index(\"date\")\n",
    "\n",
    "dfdiff.plot(x=\"date\", y = [\"confirmed_num\",\"cured_num\",\"dead_num\"],figsize=(10,6))\n",
    "plt.xticks(rotation=60)\n",
    "dfdiff = dfdiff.drop(\"date\",axis = 1).astype(\"float32\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 用某日前8天窗口数据作为输入预测该日数据\n",
    "WINDOW_SIZE = 8\n",
    "def batch_dataset(dateset):\n",
    "    dateset_batched = dateset.batch(WINDOW_SIZE, drop_remainder=True)\n",
    "    return dateset_batched\n",
    "\n",
    "ds_data = tf.data.Dataset.from_tensor_slices(tf.constant(dfdiff.values,dtype=tf.float32)) \\\n",
    "                .window(WINDOW_SIZE, shift=1).flat_map(batch_dataset)\n",
    "\n",
    "ds_label = tf.data.Dataset.from_tensor_slices(\n",
    "                tf.constant(dfdiff.values[WINDOW_SIZE:], dtype=tf.float32))\n",
    "\n",
    "#数据较小，可以将全部训练数据放入到一个batch中，提升性能\n",
    "ds_train = tf.data.Dataset.zip((ds_data, ds_label)).batch(38).cache()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二，定义模型\n",
    "\n",
    "使用Keras接口有以下3种方式构建模型：使用Sequential按层顺序构建模型，使用函数式API构建任意结构模型，继承Model基类构建自定义模型。\n",
    "\n",
    "此处选择使用函数式API构建任意结构模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "#考虑到新增确诊，新增治愈，新增死亡人数数据不可能小于0，设计如下结构\n",
    "class Block(layers.Layer):\n",
    "    def __init__(self, **kwargs):\n",
    "        super(Block, self).__init__(**kwargs)\n",
    "    \n",
    "    def call(self, x_input,x):\n",
    "        x_out = tf.maximum((1+x)*x_input[:,-1,:],0.0)\n",
    "        return x_out\n",
    "    \n",
    "    def get_config(self):  \n",
    "        config = super(Block, self).get_config()\n",
    "        return config"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"model\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_1 (InputLayer)         [(None, None, 3)]         0         \n",
      "_________________________________________________________________\n",
      "lstm (LSTM)                  (None, None, 3)           84        \n",
      "_________________________________________________________________\n",
      "lstm_1 (LSTM)                (None, None, 3)           84        \n",
      "_________________________________________________________________\n",
      "lstm_2 (LSTM)                (None, None, 3)           84        \n",
      "_________________________________________________________________\n",
      "lstm_3 (LSTM)                (None, 3)                 84        \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 3)                 12        \n",
      "_________________________________________________________________\n",
      "block (Block)                (None, 3)                 0         \n",
      "=================================================================\n",
      "Total params: 348\n",
      "Trainable params: 348\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "tf.keras.backend.clear_session()\n",
    "x_input = layers.Input(shape=(None, 3), dtype=tf.float32)\n",
    "x = layers.LSTM(3, return_sequences=True, input_shape=(None, 3))(x_input)\n",
    "x = layers.LSTM(3, return_sequences=True, input_shape=(None, 3))(x)\n",
    "x = layers.LSTM(3, return_sequences=True, input_shape=(None, 3))(x)\n",
    "x = layers.LSTM(3, input_shape=(None, 3))(x)\n",
    "x = layers.Dense(3)(x)\n",
    "\n",
    "#考虑到新增确诊，新增治愈，新增死亡人数数据不可能小于0，设计如下结构\n",
    "#x = tf.maximum((1+x)*x_input[:,-1,:],0.0)\n",
    "x = Block()(x_input, x)\n",
    "model = models.Model(inputs=[x_input], outputs=[x])\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 三，训练模型\n",
    "\n",
    "训练模型通常有3种方法，内置fit方法，内置train_on_batch方法，以及自定义训练循环。此处我们选择最常用也最简单的内置fit方法。\n",
    "\n",
    "注：循环神经网络调试较为困难，需要设置多个不同的学习率多次尝试，以取得较好的效果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "#自定义损失函数，考虑平方差和预测目标的比值\n",
    "class MSPE(losses.Loss):\n",
    "    def call(self, y_true, y_pred):\n",
    "        err_precent = (y_true - y_pred)**2 /(tf.maximum(y_true**2, 1e-7))\n",
    "        mean_err_precent = tf.reduce_mean(err_precent)\n",
    "        return mean_err_precent\n",
    "    \n",
    "    def get_config(self):\n",
    "        config = super(MSPE, self).get_config()\n",
    "        return config\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/500\n",
      "1/1 [==============================] - 3s 3s/step - loss: 3.3525\n",
      "Epoch 2/500\n",
      "1/1 [==============================] - 0s 34ms/step - loss: 3.0914\n",
      "Epoch 3/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 2.8214\n",
      "Epoch 4/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 2.5403\n",
      "Epoch 5/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 2.2497\n",
      "Epoch 6/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 1.9552\n",
      "Epoch 7/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 1.6646\n",
      "Epoch 8/500\n",
      "1/1 [==============================] - 0s 33ms/step - loss: 1.3911\n",
      "Epoch 9/500\n",
      "1/1 [==============================] - 0s 33ms/step - loss: 1.1493\n",
      "Epoch 10/500\n",
      "1/1 [==============================] - 0s 34ms/step - loss: 0.9554\n",
      "Epoch 11/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.8240\n",
      "Epoch 12/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.7606\n",
      "Epoch 13/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.7537\n",
      "Epoch 14/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.7735\n",
      "Epoch 15/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.7767\n",
      "Epoch 16/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.7526\n",
      "Epoch 17/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.7210\n",
      "Epoch 18/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.6854\n",
      "Epoch 19/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.6488\n",
      "Epoch 20/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.6129\n",
      "Epoch 21/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.5788\n",
      "Epoch 22/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.5470\n",
      "Epoch 23/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.5179\n",
      "Epoch 24/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.4915\n",
      "Epoch 25/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.4672\n",
      "Epoch 26/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.4452\n",
      "Epoch 27/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.4194\n",
      "Epoch 28/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.3905\n",
      "Epoch 29/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.3664\n",
      "Epoch 30/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.3487\n",
      "Epoch 31/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.3375\n",
      "Epoch 32/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.3316\n",
      "Epoch 33/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.3291\n",
      "Epoch 34/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.3277\n",
      "Epoch 35/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.3258\n",
      "Epoch 36/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.3223\n",
      "Epoch 37/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.3169\n",
      "Epoch 38/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.3099\n",
      "Epoch 39/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.3023\n",
      "Epoch 40/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2949\n",
      "Epoch 41/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2887\n",
      "Epoch 42/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2840\n",
      "Epoch 43/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2807\n",
      "Epoch 44/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2786\n",
      "Epoch 45/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2780\n",
      "Epoch 46/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2783\n",
      "Epoch 47/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2759\n",
      "Epoch 48/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2746\n",
      "Epoch 49/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2704\n",
      "Epoch 50/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2692\n",
      "Epoch 51/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2676\n",
      "Epoch 52/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2658\n",
      "Epoch 53/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2641\n",
      "Epoch 54/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2627\n",
      "Epoch 55/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2617\n",
      "Epoch 56/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2612\n",
      "Epoch 57/500\n",
      "1/1 [==============================] - 0s 33ms/step - loss: 0.2660\n",
      "Epoch 58/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2660\n",
      "Epoch 59/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2662\n",
      "Epoch 60/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2662\n",
      "Epoch 61/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2659\n",
      "Epoch 62/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2655\n",
      "Epoch 63/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2650\n",
      "Epoch 64/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2670\n",
      "Epoch 65/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2637\n",
      "Epoch 66/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2636\n",
      "Epoch 67/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2634\n",
      "Epoch 68/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2633\n",
      "Epoch 69/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2632\n",
      "Epoch 70/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2631\n",
      "Epoch 71/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2629\n",
      "Epoch 72/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2625\n",
      "Epoch 73/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2621\n",
      "Epoch 74/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2617\n",
      "Epoch 75/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2612\n",
      "Epoch 76/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2608\n",
      "Epoch 77/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2604\n",
      "Epoch 78/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2601\n",
      "Epoch 79/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2599\n",
      "Epoch 80/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2596\n",
      "Epoch 81/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2593\n",
      "Epoch 82/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2589\n",
      "Epoch 83/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2585\n",
      "Epoch 84/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2580\n",
      "Epoch 85/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2576\n",
      "Epoch 86/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2571\n",
      "Epoch 87/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2567\n",
      "Epoch 88/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2563\n",
      "Epoch 89/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2560\n",
      "Epoch 90/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2556\n",
      "Epoch 91/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2552\n",
      "Epoch 92/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2548\n",
      "Epoch 93/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2543\n",
      "Epoch 94/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2539\n",
      "Epoch 95/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2535\n",
      "Epoch 96/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2530\n",
      "Epoch 97/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2526\n",
      "Epoch 98/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2522\n",
      "Epoch 99/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2518\n",
      "Epoch 100/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2513\n",
      "Epoch 101/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2509\n",
      "Epoch 102/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2505\n",
      "Epoch 103/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2501\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 104/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2496\n",
      "Epoch 105/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2492\n",
      "Epoch 106/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2488\n",
      "Epoch 107/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2484\n",
      "Epoch 108/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2480\n",
      "Epoch 109/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2476\n",
      "Epoch 110/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2472\n",
      "Epoch 111/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2468\n",
      "Epoch 112/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2464\n",
      "Epoch 113/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2460\n",
      "Epoch 114/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2457\n",
      "Epoch 115/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2453\n",
      "Epoch 116/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2449\n",
      "Epoch 117/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2446\n",
      "Epoch 118/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2442\n",
      "Epoch 119/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2439\n",
      "Epoch 120/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2436\n",
      "Epoch 121/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2432\n",
      "Epoch 122/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2429\n",
      "Epoch 123/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2426\n",
      "Epoch 124/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2423\n",
      "Epoch 125/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2420\n",
      "Epoch 126/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2417\n",
      "Epoch 127/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2414\n",
      "Epoch 128/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2411\n",
      "Epoch 129/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2409\n",
      "Epoch 130/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2406\n",
      "Epoch 131/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2403\n",
      "Epoch 132/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2401\n",
      "Epoch 133/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2398\n",
      "Epoch 134/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2396\n",
      "Epoch 135/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2393\n",
      "Epoch 136/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2391\n",
      "Epoch 137/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2389\n",
      "Epoch 138/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2387\n",
      "Epoch 139/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2384\n",
      "Epoch 140/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2382\n",
      "Epoch 141/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2380\n",
      "Epoch 142/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2378\n",
      "Epoch 143/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2376\n",
      "Epoch 144/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2374\n",
      "Epoch 145/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2372\n",
      "Epoch 146/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2370\n",
      "Epoch 147/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2368\n",
      "Epoch 148/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2366\n",
      "Epoch 149/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2364\n",
      "Epoch 150/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2363\n",
      "Epoch 151/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2361\n",
      "Epoch 152/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2359\n",
      "Epoch 153/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2358\n",
      "Epoch 154/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2356\n",
      "Epoch 155/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2354\n",
      "Epoch 156/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2353\n",
      "Epoch 157/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2351\n",
      "Epoch 158/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2350\n",
      "Epoch 159/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2348\n",
      "Epoch 160/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2347\n",
      "Epoch 161/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2345\n",
      "Epoch 162/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2344\n",
      "Epoch 163/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2343\n",
      "Epoch 164/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2341\n",
      "Epoch 165/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2340\n",
      "Epoch 166/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2339\n",
      "Epoch 167/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2337\n",
      "Epoch 168/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2336\n",
      "Epoch 169/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2335\n",
      "Epoch 170/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2334\n",
      "Epoch 171/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2333\n",
      "Epoch 172/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2331\n",
      "Epoch 173/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2330\n",
      "Epoch 174/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2329\n",
      "Epoch 175/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2328\n",
      "Epoch 176/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2327\n",
      "Epoch 177/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2326\n",
      "Epoch 178/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2325\n",
      "Epoch 179/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2324\n",
      "Epoch 180/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2323\n",
      "Epoch 181/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2322\n",
      "Epoch 182/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2321\n",
      "Epoch 183/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2320\n",
      "Epoch 184/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2319\n",
      "Epoch 185/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2318\n",
      "Epoch 186/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2317\n",
      "Epoch 187/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2316\n",
      "Epoch 188/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2315\n",
      "Epoch 189/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2315\n",
      "Epoch 190/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2314\n",
      "Epoch 191/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2313\n",
      "Epoch 192/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2312\n",
      "Epoch 193/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2311\n",
      "Epoch 194/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2310\n",
      "Epoch 195/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2310\n",
      "Epoch 196/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2309\n",
      "Epoch 197/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2308\n",
      "Epoch 198/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2307\n",
      "Epoch 199/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2307\n",
      "Epoch 200/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2306\n",
      "Epoch 201/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2305\n",
      "Epoch 202/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2304\n",
      "Epoch 203/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2304\n",
      "Epoch 204/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2303\n",
      "Epoch 205/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2302\n",
      "Epoch 206/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2302\n",
      "Epoch 207/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2301\n",
      "Epoch 208/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2300\n",
      "Epoch 209/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2300\n",
      "Epoch 210/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2299\n",
      "Epoch 211/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2298\n",
      "Epoch 212/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2298\n",
      "Epoch 213/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2297\n",
      "Epoch 214/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2296\n",
      "Epoch 215/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2296\n",
      "Epoch 216/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2295\n",
      "Epoch 217/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2295\n",
      "Epoch 218/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2294\n",
      "Epoch 219/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2293\n",
      "Epoch 220/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2293\n",
      "Epoch 221/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2292\n",
      "Epoch 222/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2292\n",
      "Epoch 223/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2291\n",
      "Epoch 224/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2291\n",
      "Epoch 225/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2290\n",
      "Epoch 226/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2289\n",
      "Epoch 227/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2289\n",
      "Epoch 228/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2288\n",
      "Epoch 229/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2288\n",
      "Epoch 230/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2287\n",
      "Epoch 231/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2287\n",
      "Epoch 232/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2286\n",
      "Epoch 233/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2286\n",
      "Epoch 234/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2285\n",
      "Epoch 235/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2285\n",
      "Epoch 236/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2284\n",
      "Epoch 237/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2284\n",
      "Epoch 238/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2283\n",
      "Epoch 239/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2283\n",
      "Epoch 240/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2282\n",
      "Epoch 241/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2282\n",
      "Epoch 242/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2281\n",
      "Epoch 243/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2281\n",
      "Epoch 244/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2280\n",
      "Epoch 245/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2280\n",
      "Epoch 246/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2280\n",
      "Epoch 247/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2279\n",
      "Epoch 248/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2279\n",
      "Epoch 249/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2278\n",
      "Epoch 250/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2278\n",
      "Epoch 251/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2277\n",
      "Epoch 252/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2277\n",
      "Epoch 253/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2276\n",
      "Epoch 254/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2276\n",
      "Epoch 255/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2276\n",
      "Epoch 256/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2275\n",
      "Epoch 257/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2275\n",
      "Epoch 258/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2274\n",
      "Epoch 259/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2274\n",
      "Epoch 260/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2273\n",
      "Epoch 261/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2273\n",
      "Epoch 262/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2273\n",
      "Epoch 263/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2272\n",
      "Epoch 264/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2272\n",
      "Epoch 265/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2271\n",
      "Epoch 266/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2271\n",
      "Epoch 267/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2271\n",
      "Epoch 268/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2270\n",
      "Epoch 269/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2270\n",
      "Epoch 270/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2269\n",
      "Epoch 271/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2269\n",
      "Epoch 272/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2268\n",
      "Epoch 273/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2268\n",
      "Epoch 274/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2268\n",
      "Epoch 275/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2267\n",
      "Epoch 276/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2267\n",
      "Epoch 277/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2266\n",
      "Epoch 278/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2266\n",
      "Epoch 279/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2266\n",
      "Epoch 280/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2265\n",
      "Epoch 281/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2265\n",
      "Epoch 282/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2265\n",
      "Epoch 283/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2264\n",
      "Epoch 284/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2264\n",
      "Epoch 285/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2263\n",
      "Epoch 286/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2263\n",
      "Epoch 287/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2263\n",
      "Epoch 288/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2262\n",
      "Epoch 289/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2262\n",
      "Epoch 290/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2261\n",
      "Epoch 291/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2261\n",
      "Epoch 292/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2261\n",
      "Epoch 293/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2260\n",
      "Epoch 294/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2260\n",
      "Epoch 295/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2259\n",
      "Epoch 296/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2259\n",
      "Epoch 297/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2259\n",
      "Epoch 298/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2258\n",
      "Epoch 299/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2258\n",
      "Epoch 300/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2258\n",
      "Epoch 301/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2257\n",
      "Epoch 302/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2257\n",
      "Epoch 303/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2256\n",
      "Epoch 304/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2256\n",
      "Epoch 305/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2256\n",
      "Epoch 306/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2255\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 307/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2255\n",
      "Epoch 308/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2255\n",
      "Epoch 309/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2254\n",
      "Epoch 310/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2254\n",
      "Epoch 311/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2253\n",
      "Epoch 312/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2253\n",
      "Epoch 313/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2253\n",
      "Epoch 314/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2252\n",
      "Epoch 315/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2252\n",
      "Epoch 316/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2251\n",
      "Epoch 317/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2251\n",
      "Epoch 318/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2251\n",
      "Epoch 319/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2250\n",
      "Epoch 320/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2250\n",
      "Epoch 321/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2249\n",
      "Epoch 322/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2249\n",
      "Epoch 323/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2249\n",
      "Epoch 324/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2248\n",
      "Epoch 325/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2248\n",
      "Epoch 326/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2248\n",
      "Epoch 327/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2247\n",
      "Epoch 328/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2247\n",
      "Epoch 329/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2246\n",
      "Epoch 330/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2246\n",
      "Epoch 331/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2246\n",
      "Epoch 332/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2245\n",
      "Epoch 333/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2245\n",
      "Epoch 334/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2244\n",
      "Epoch 335/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2244\n",
      "Epoch 336/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2244\n",
      "Epoch 337/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2243\n",
      "Epoch 338/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2243\n",
      "Epoch 339/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2242\n",
      "Epoch 340/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2242\n",
      "Epoch 341/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2242\n",
      "Epoch 342/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2241\n",
      "Epoch 343/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2241\n",
      "Epoch 344/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2240\n",
      "Epoch 345/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2240\n",
      "Epoch 346/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2240\n",
      "Epoch 347/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2239\n",
      "Epoch 348/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2239\n",
      "Epoch 349/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2238\n",
      "Epoch 350/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2238\n",
      "Epoch 351/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2238\n",
      "Epoch 352/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2237\n",
      "Epoch 353/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2237\n",
      "Epoch 354/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2236\n",
      "Epoch 355/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2236\n",
      "Epoch 356/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2236\n",
      "Epoch 357/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2235\n",
      "Epoch 358/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2235\n",
      "Epoch 359/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2234\n",
      "Epoch 360/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2234\n",
      "Epoch 361/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2234\n",
      "Epoch 362/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2233\n",
      "Epoch 363/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2233\n",
      "Epoch 364/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2232\n",
      "Epoch 365/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2232\n",
      "Epoch 366/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2232\n",
      "Epoch 367/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2231\n",
      "Epoch 368/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2231\n",
      "Epoch 369/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2230\n",
      "Epoch 370/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2230\n",
      "Epoch 371/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2230\n",
      "Epoch 372/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2229\n",
      "Epoch 373/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2229\n",
      "Epoch 374/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2228\n",
      "Epoch 375/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2228\n",
      "Epoch 376/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2228\n",
      "Epoch 377/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2227\n",
      "Epoch 378/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2227\n",
      "Epoch 379/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2226\n",
      "Epoch 380/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2226\n",
      "Epoch 381/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2225\n",
      "Epoch 382/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2225\n",
      "Epoch 383/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2225\n",
      "Epoch 384/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2224\n",
      "Epoch 385/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2224\n",
      "Epoch 386/500\n",
      "1/1 [==============================] - 0s 33ms/step - loss: 0.2223\n",
      "Epoch 387/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2223\n",
      "Epoch 388/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2223\n",
      "Epoch 389/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2222\n",
      "Epoch 390/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2222\n",
      "Epoch 391/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2221\n",
      "Epoch 392/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2221\n",
      "Epoch 393/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2220\n",
      "Epoch 394/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2220\n",
      "Epoch 395/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2220\n",
      "Epoch 396/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2219\n",
      "Epoch 397/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2219\n",
      "Epoch 398/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2218\n",
      "Epoch 399/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2218\n",
      "Epoch 400/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2218\n",
      "Epoch 401/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2217\n",
      "Epoch 402/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2217\n",
      "Epoch 403/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2216\n",
      "Epoch 404/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2216\n",
      "Epoch 405/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2215\n",
      "Epoch 406/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2215\n",
      "Epoch 407/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2215\n",
      "Epoch 408/500\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2214\n",
      "Epoch 409/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2214\n",
      "Epoch 410/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2213\n",
      "Epoch 411/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2213\n",
      "Epoch 412/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2213\n",
      "Epoch 413/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2212\n",
      "Epoch 414/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2212\n",
      "Epoch 415/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2211\n",
      "Epoch 416/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2211\n",
      "Epoch 417/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2210\n",
      "Epoch 418/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2210\n",
      "Epoch 419/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2210\n",
      "Epoch 420/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2209\n",
      "Epoch 421/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2209\n",
      "Epoch 422/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2208\n",
      "Epoch 423/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2208\n",
      "Epoch 424/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2208\n",
      "Epoch 425/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2207\n",
      "Epoch 426/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2207\n",
      "Epoch 427/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2206\n",
      "Epoch 428/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2206\n",
      "Epoch 429/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2206\n",
      "Epoch 430/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2205\n",
      "Epoch 431/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2205\n",
      "Epoch 432/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2204\n",
      "Epoch 433/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2204\n",
      "Epoch 434/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2204\n",
      "Epoch 435/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2203\n",
      "Epoch 436/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2203\n",
      "Epoch 437/500\n",
      "1/1 [==============================] - 0s 32ms/step - loss: 0.2202\n",
      "Epoch 438/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2202\n",
      "Epoch 439/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2202\n",
      "Epoch 440/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2201\n",
      "Epoch 441/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2201\n",
      "Epoch 442/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2200\n",
      "Epoch 443/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2200\n",
      "Epoch 444/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2200\n",
      "Epoch 445/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2199\n",
      "Epoch 446/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2199\n",
      "Epoch 447/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2198\n",
      "Epoch 448/500\n",
      "1/1 [==============================] - 0s 29ms/step - loss: 0.2198\n",
      "Epoch 449/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2198\n",
      "Epoch 450/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2197\n",
      "Epoch 451/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2197\n",
      "Epoch 452/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2197\n",
      "Epoch 453/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2196\n",
      "Epoch 454/500\n",
      "1/1 [==============================] - 0s 31ms/step - loss: 0.2196\n",
      "Epoch 455/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2195\n",
      "Epoch 456/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2195\n",
      "Epoch 457/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2195\n",
      "Epoch 458/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2194\n",
      "Epoch 459/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2194\n",
      "Epoch 460/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2194\n",
      "Epoch 461/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2193\n",
      "Epoch 462/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2193\n",
      "Epoch 463/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2193\n",
      "Epoch 464/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2192\n",
      "Epoch 465/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2192\n",
      "Epoch 466/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2191\n",
      "Epoch 467/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2191\n",
      "Epoch 468/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2191\n",
      "Epoch 469/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2190\n",
      "Epoch 470/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2190\n",
      "Epoch 471/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2190\n",
      "Epoch 472/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2189\n",
      "Epoch 473/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2189\n",
      "Epoch 474/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2189\n",
      "Epoch 475/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2188\n",
      "Epoch 476/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2188\n",
      "Epoch 477/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2188\n",
      "Epoch 478/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2187\n",
      "Epoch 479/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2187\n",
      "Epoch 480/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2187\n",
      "Epoch 481/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2186\n",
      "Epoch 482/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2186\n",
      "Epoch 483/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2185\n",
      "Epoch 484/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2185\n",
      "Epoch 485/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2185\n",
      "Epoch 486/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2184\n",
      "Epoch 487/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2184\n",
      "Epoch 488/500\n",
      "1/1 [==============================] - 0s 28ms/step - loss: 0.2184\n",
      "Epoch 489/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2183\n",
      "Epoch 490/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2183\n",
      "Epoch 491/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2183\n",
      "Epoch 492/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2182\n",
      "Epoch 493/500\n",
      "1/1 [==============================] - 0s 33ms/step - loss: 0.2182\n",
      "Epoch 494/500\n",
      "1/1 [==============================] - 0s 30ms/step - loss: 0.2182\n",
      "Epoch 495/500\n",
      "1/1 [==============================] - 0s 27ms/step - loss: 0.2181\n",
      "Epoch 496/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2181\n",
      "Epoch 497/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2181\n",
      "Epoch 498/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2180\n",
      "Epoch 499/500\n",
      "1/1 [==============================] - 0s 25ms/step - loss: 0.2180\n",
      "Epoch 500/500\n",
      "1/1 [==============================] - 0s 26ms/step - loss: 0.2180\n"
     ]
    }
   ],
   "source": [
    "import datetime\n",
    "\n",
    "optimizer = tf.keras.optimizers.Adam(learning_rate=0.01)\n",
    "model.compile(optimizer=optimizer, loss=MSPE(name=\"MSPE\"))\n",
    "\n",
    "log_dir = \"./data/keras_model/\" + datetime.datetime.now().strftime(\"%Y%m%d-%H%M%S\")\n",
    "\n",
    "tb_callback = tf.keras.callbacks.TensorBoard(log_dir, histogram_freq=1)\n",
    "# 如果 loss 在 100 个 epoch 没有提升，学习率减半\n",
    "lr_callback = tf.keras.callbacks.ReduceLROnPlateau(monitor=\"loss\", factor=0.5, patience=100)\n",
    "# 当 loss 在 200 个 epoch 后没有提升，则终止训练。\n",
    "stop_callback = tf.keras.callbacks.EarlyStopping(monitor=\"loss\", patience=200)\n",
    "callbacks_list = [tb_callback, lr_callback, stop_callback]\n",
    "\n",
    "history = model.fit(ds_train, epochs=500, callbacks=callbacks_list)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 四，评估模型\n",
    "\n",
    "评估模型一般要设置验证集或者测试集，由于此例数据较少，我们仅仅可视化损失函数在训练集上的迭代情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'svg'\n",
    "def plot_metric(history, metric):\n",
    "    train_metrics = history.history[metric]\n",
    "    epochs = range(1, len(train_metrics)+1)\n",
    "    plt.plot(epochs, train_metrics, 'bo--')\n",
    "    plt.title(\"Training\" + metric)\n",
    "    plt.xlabel(\"Epochs\")\n",
    "    plt.ylabel(metric)\n",
    "    plt.legend([\"train_\" + metric])\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<!-- Created with matplotlib (http://matplotlib.org/) -->\n",
       "<svg height=\"277.314375pt\" version=\"1.1\" viewBox=\"0 0 389.28125 277.314375\" width=\"389.28125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
       " <defs>\n",
       "  <style type=\"text/css\">\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;}\n",
       "  </style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 277.314375 \n",
       "L 389.28125 277.314375 \n",
       "L 389.28125 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill:none;\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 43.78125 239.758125 \n",
       "L 378.58125 239.758125 \n",
       "L 378.58125 22.318125 \n",
       "L 43.78125 22.318125 \n",
       "z\n",
       "\" style=\"fill:#ffffff;\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L 0 3.5 \n",
       "\" id=\"m9800329883\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"58.389485\" xlink:href=\"#m9800329883\" y=\"239.758125\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      <!-- 0 -->\n",
       "      <defs>\n",
       "       <path d=\"M 31.78125 66.40625 \n",
       "Q 24.171875 66.40625 20.328125 58.90625 \n",
       "Q 16.5 51.421875 16.5 36.375 \n",
       "Q 16.5 21.390625 20.328125 13.890625 \n",
       "Q 24.171875 6.390625 31.78125 6.390625 \n",
       "Q 39.453125 6.390625 43.28125 13.890625 \n",
       "Q 47.125 21.390625 47.125 36.375 \n",
       "Q 47.125 51.421875 43.28125 58.90625 \n",
       "Q 39.453125 66.40625 31.78125 66.40625 \n",
       "z\n",
       "M 31.78125 74.21875 \n",
       "Q 44.046875 74.21875 50.515625 64.515625 \n",
       "Q 56.984375 54.828125 56.984375 36.375 \n",
       "Q 56.984375 17.96875 50.515625 8.265625 \n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \n",
       "Q 6.59375 17.96875 6.59375 36.375 \n",
       "Q 6.59375 54.828125 13.0625 64.515625 \n",
       "Q 19.53125 74.21875 31.78125 74.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-30\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(55.208235 254.356562)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"119.384201\" xlink:href=\"#m9800329883\" y=\"239.758125\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- 100 -->\n",
       "      <defs>\n",
       "       <path d=\"M 12.40625 8.296875 \n",
       "L 28.515625 8.296875 \n",
       "L 28.515625 63.921875 \n",
       "L 10.984375 60.40625 \n",
       "L 10.984375 69.390625 \n",
       "L 28.421875 72.90625 \n",
       "L 38.28125 72.90625 \n",
       "L 38.28125 8.296875 \n",
       "L 54.390625 8.296875 \n",
       "L 54.390625 0 \n",
       "L 12.40625 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-31\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(109.840451 254.356562)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"180.378918\" xlink:href=\"#m9800329883\" y=\"239.758125\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 200 -->\n",
       "      <defs>\n",
       "       <path d=\"M 19.1875 8.296875 \n",
       "L 53.609375 8.296875 \n",
       "L 53.609375 0 \n",
       "L 7.328125 0 \n",
       "L 7.328125 8.296875 \n",
       "Q 12.9375 14.109375 22.625 23.890625 \n",
       "Q 32.328125 33.6875 34.8125 36.53125 \n",
       "Q 39.546875 41.84375 41.421875 45.53125 \n",
       "Q 43.3125 49.21875 43.3125 52.78125 \n",
       "Q 43.3125 58.59375 39.234375 62.25 \n",
       "Q 35.15625 65.921875 28.609375 65.921875 \n",
       "Q 23.96875 65.921875 18.8125 64.3125 \n",
       "Q 13.671875 62.703125 7.8125 59.421875 \n",
       "L 7.8125 69.390625 \n",
       "Q 13.765625 71.78125 18.9375 73 \n",
       "Q 24.125 74.21875 28.421875 74.21875 \n",
       "Q 39.75 74.21875 46.484375 68.546875 \n",
       "Q 53.21875 62.890625 53.21875 53.421875 \n",
       "Q 53.21875 48.921875 51.53125 44.890625 \n",
       "Q 49.859375 40.875 45.40625 35.40625 \n",
       "Q 44.1875 33.984375 37.640625 27.21875 \n",
       "Q 31.109375 20.453125 19.1875 8.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-32\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(170.835168 254.356562)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"241.373635\" xlink:href=\"#m9800329883\" y=\"239.758125\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 300 -->\n",
       "      <defs>\n",
       "       <path d=\"M 40.578125 39.3125 \n",
       "Q 47.65625 37.796875 51.625 33 \n",
       "Q 55.609375 28.21875 55.609375 21.1875 \n",
       "Q 55.609375 10.40625 48.1875 4.484375 \n",
       "Q 40.765625 -1.421875 27.09375 -1.421875 \n",
       "Q 22.515625 -1.421875 17.65625 -0.515625 \n",
       "Q 12.796875 0.390625 7.625 2.203125 \n",
       "L 7.625 11.71875 \n",
       "Q 11.71875 9.328125 16.59375 8.109375 \n",
       "Q 21.484375 6.890625 26.8125 6.890625 \n",
       "Q 36.078125 6.890625 40.9375 10.546875 \n",
       "Q 45.796875 14.203125 45.796875 21.1875 \n",
       "Q 45.796875 27.640625 41.28125 31.265625 \n",
       "Q 36.765625 34.90625 28.71875 34.90625 \n",
       "L 20.21875 34.90625 \n",
       "L 20.21875 43.015625 \n",
       "L 29.109375 43.015625 \n",
       "Q 36.375 43.015625 40.234375 45.921875 \n",
       "Q 44.09375 48.828125 44.09375 54.296875 \n",
       "Q 44.09375 59.90625 40.109375 62.90625 \n",
       "Q 36.140625 65.921875 28.71875 65.921875 \n",
       "Q 24.65625 65.921875 20.015625 65.03125 \n",
       "Q 15.375 64.15625 9.8125 62.3125 \n",
       "L 9.8125 71.09375 \n",
       "Q 15.4375 72.65625 20.34375 73.4375 \n",
       "Q 25.25 74.21875 29.59375 74.21875 \n",
       "Q 40.828125 74.21875 47.359375 69.109375 \n",
       "Q 53.90625 64.015625 53.90625 55.328125 \n",
       "Q 53.90625 49.265625 50.4375 45.09375 \n",
       "Q 46.96875 40.921875 40.578125 39.3125 \n",
       "z\n",
       "\" id=\"DejaVuSans-33\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(231.829885 254.356562)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-33\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"302.368351\" xlink:href=\"#m9800329883\" y=\"239.758125\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 400 -->\n",
       "      <defs>\n",
       "       <path d=\"M 37.796875 64.3125 \n",
       "L 12.890625 25.390625 \n",
       "L 37.796875 25.390625 \n",
       "z\n",
       "M 35.203125 72.90625 \n",
       "L 47.609375 72.90625 \n",
       "L 47.609375 25.390625 \n",
       "L 58.015625 25.390625 \n",
       "L 58.015625 17.1875 \n",
       "L 47.609375 17.1875 \n",
       "L 47.609375 0 \n",
       "L 37.796875 0 \n",
       "L 37.796875 17.1875 \n",
       "L 4.890625 17.1875 \n",
       "L 4.890625 26.703125 \n",
       "z\n",
       "\" id=\"DejaVuSans-34\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(292.824601 254.356562)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-34\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_6\">\n",
       "     <g id=\"line2d_6\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"363.363068\" xlink:href=\"#m9800329883\" y=\"239.758125\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      <!-- 500 -->\n",
       "      <defs>\n",
       "       <path d=\"M 10.796875 72.90625 \n",
       "L 49.515625 72.90625 \n",
       "L 49.515625 64.59375 \n",
       "L 19.828125 64.59375 \n",
       "L 19.828125 46.734375 \n",
       "Q 21.96875 47.46875 24.109375 47.828125 \n",
       "Q 26.265625 48.1875 28.421875 48.1875 \n",
       "Q 40.625 48.1875 47.75 41.5 \n",
       "Q 54.890625 34.8125 54.890625 23.390625 \n",
       "Q 54.890625 11.625 47.5625 5.09375 \n",
       "Q 40.234375 -1.421875 26.90625 -1.421875 \n",
       "Q 22.3125 -1.421875 17.546875 -0.640625 \n",
       "Q 12.796875 0.140625 7.71875 1.703125 \n",
       "L 7.71875 11.625 \n",
       "Q 12.109375 9.234375 16.796875 8.0625 \n",
       "Q 21.484375 6.890625 26.703125 6.890625 \n",
       "Q 35.15625 6.890625 40.078125 11.328125 \n",
       "Q 45.015625 15.765625 45.015625 23.390625 \n",
       "Q 45.015625 31 40.078125 35.4375 \n",
       "Q 35.15625 39.890625 26.703125 39.890625 \n",
       "Q 22.75 39.890625 18.8125 39.015625 \n",
       "Q 14.890625 38.140625 10.796875 36.28125 \n",
       "z\n",
       "\" id=\"DejaVuSans-35\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(353.819318 254.356562)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-35\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"127.246094\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_7\">\n",
       "     <!-- Epochs -->\n",
       "     <defs>\n",
       "      <path d=\"M 9.8125 72.90625 \n",
       "L 55.90625 72.90625 \n",
       "L 55.90625 64.59375 \n",
       "L 19.671875 64.59375 \n",
       "L 19.671875 43.015625 \n",
       "L 54.390625 43.015625 \n",
       "L 54.390625 34.71875 \n",
       "L 19.671875 34.71875 \n",
       "L 19.671875 8.296875 \n",
       "L 56.78125 8.296875 \n",
       "L 56.78125 0 \n",
       "L 9.8125 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-45\"/>\n",
       "      <path d=\"M 18.109375 8.203125 \n",
       "L 18.109375 -20.796875 \n",
       "L 9.078125 -20.796875 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.390625 \n",
       "Q 20.953125 51.265625 25.265625 53.625 \n",
       "Q 29.59375 56 35.59375 56 \n",
       "Q 45.5625 56 51.78125 48.09375 \n",
       "Q 58.015625 40.1875 58.015625 27.296875 \n",
       "Q 58.015625 14.40625 51.78125 6.484375 \n",
       "Q 45.5625 -1.421875 35.59375 -1.421875 \n",
       "Q 29.59375 -1.421875 25.265625 0.953125 \n",
       "Q 20.953125 3.328125 18.109375 8.203125 \n",
       "z\n",
       "M 48.6875 27.296875 \n",
       "Q 48.6875 37.203125 44.609375 42.84375 \n",
       "Q 40.53125 48.484375 33.40625 48.484375 \n",
       "Q 26.265625 48.484375 22.1875 42.84375 \n",
       "Q 18.109375 37.203125 18.109375 27.296875 \n",
       "Q 18.109375 17.390625 22.1875 11.75 \n",
       "Q 26.265625 6.109375 33.40625 6.109375 \n",
       "Q 40.53125 6.109375 44.609375 11.75 \n",
       "Q 48.6875 17.390625 48.6875 27.296875 \n",
       "z\n",
       "\" id=\"DejaVuSans-70\"/>\n",
       "      <path d=\"M 30.609375 48.390625 \n",
       "Q 23.390625 48.390625 19.1875 42.75 \n",
       "Q 14.984375 37.109375 14.984375 27.296875 \n",
       "Q 14.984375 17.484375 19.15625 11.84375 \n",
       "Q 23.34375 6.203125 30.609375 6.203125 \n",
       "Q 37.796875 6.203125 41.984375 11.859375 \n",
       "Q 46.1875 17.53125 46.1875 27.296875 \n",
       "Q 46.1875 37.015625 41.984375 42.703125 \n",
       "Q 37.796875 48.390625 30.609375 48.390625 \n",
       "z\n",
       "M 30.609375 56 \n",
       "Q 42.328125 56 49.015625 48.375 \n",
       "Q 55.71875 40.765625 55.71875 27.296875 \n",
       "Q 55.71875 13.875 49.015625 6.21875 \n",
       "Q 42.328125 -1.421875 30.609375 -1.421875 \n",
       "Q 18.84375 -1.421875 12.171875 6.21875 \n",
       "Q 5.515625 13.875 5.515625 27.296875 \n",
       "Q 5.515625 40.765625 12.171875 48.375 \n",
       "Q 18.84375 56 30.609375 56 \n",
       "z\n",
       "\" id=\"DejaVuSans-6f\"/>\n",
       "      <path d=\"M 48.78125 52.59375 \n",
       "L 48.78125 44.1875 \n",
       "Q 44.96875 46.296875 41.140625 47.34375 \n",
       "Q 37.3125 48.390625 33.40625 48.390625 \n",
       "Q 24.65625 48.390625 19.8125 42.84375 \n",
       "Q 14.984375 37.3125 14.984375 27.296875 \n",
       "Q 14.984375 17.28125 19.8125 11.734375 \n",
       "Q 24.65625 6.203125 33.40625 6.203125 \n",
       "Q 37.3125 6.203125 41.140625 7.25 \n",
       "Q 44.96875 8.296875 48.78125 10.40625 \n",
       "L 48.78125 2.09375 \n",
       "Q 45.015625 0.34375 40.984375 -0.53125 \n",
       "Q 36.96875 -1.421875 32.421875 -1.421875 \n",
       "Q 20.0625 -1.421875 12.78125 6.34375 \n",
       "Q 5.515625 14.109375 5.515625 27.296875 \n",
       "Q 5.515625 40.671875 12.859375 48.328125 \n",
       "Q 20.21875 56 33.015625 56 \n",
       "Q 37.15625 56 41.109375 55.140625 \n",
       "Q 45.0625 54.296875 48.78125 52.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-63\"/>\n",
       "      <path d=\"M 54.890625 33.015625 \n",
       "L 54.890625 0 \n",
       "L 45.90625 0 \n",
       "L 45.90625 32.71875 \n",
       "Q 45.90625 40.484375 42.875 44.328125 \n",
       "Q 39.84375 48.1875 33.796875 48.1875 \n",
       "Q 26.515625 48.1875 22.3125 43.546875 \n",
       "Q 18.109375 38.921875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 75.984375 \n",
       "L 18.109375 75.984375 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.34375 51.125 25.703125 53.5625 \n",
       "Q 30.078125 56 35.796875 56 \n",
       "Q 45.21875 56 50.046875 50.171875 \n",
       "Q 54.890625 44.34375 54.890625 33.015625 \n",
       "z\n",
       "\" id=\"DejaVuSans-68\"/>\n",
       "      <path d=\"M 44.28125 53.078125 \n",
       "L 44.28125 44.578125 \n",
       "Q 40.484375 46.53125 36.375 47.5 \n",
       "Q 32.28125 48.484375 27.875 48.484375 \n",
       "Q 21.1875 48.484375 17.84375 46.4375 \n",
       "Q 14.5 44.390625 14.5 40.28125 \n",
       "Q 14.5 37.15625 16.890625 35.375 \n",
       "Q 19.28125 33.59375 26.515625 31.984375 \n",
       "L 29.59375 31.296875 \n",
       "Q 39.15625 29.25 43.1875 25.515625 \n",
       "Q 47.21875 21.78125 47.21875 15.09375 \n",
       "Q 47.21875 7.46875 41.1875 3.015625 \n",
       "Q 35.15625 -1.421875 24.609375 -1.421875 \n",
       "Q 20.21875 -1.421875 15.453125 -0.5625 \n",
       "Q 10.6875 0.296875 5.421875 2 \n",
       "L 5.421875 11.28125 \n",
       "Q 10.40625 8.6875 15.234375 7.390625 \n",
       "Q 20.0625 6.109375 24.8125 6.109375 \n",
       "Q 31.15625 6.109375 34.5625 8.28125 \n",
       "Q 37.984375 10.453125 37.984375 14.40625 \n",
       "Q 37.984375 18.0625 35.515625 20.015625 \n",
       "Q 33.0625 21.96875 24.703125 23.78125 \n",
       "L 21.578125 24.515625 \n",
       "Q 13.234375 26.265625 9.515625 29.90625 \n",
       "Q 5.8125 33.546875 5.8125 39.890625 \n",
       "Q 5.8125 47.609375 11.28125 51.796875 \n",
       "Q 16.75 56 26.8125 56 \n",
       "Q 31.78125 56 36.171875 55.265625 \n",
       "Q 40.578125 54.546875 44.28125 53.078125 \n",
       "z\n",
       "\" id=\"DejaVuSans-73\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(193.265625 268.034687)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-45\"/>\n",
       "      <use x=\"63.183594\" xlink:href=\"#DejaVuSans-70\"/>\n",
       "      <use x=\"126.660156\" xlink:href=\"#DejaVuSans-6f\"/>\n",
       "      <use x=\"187.841797\" xlink:href=\"#DejaVuSans-63\"/>\n",
       "      <use x=\"242.822266\" xlink:href=\"#DejaVuSans-68\"/>\n",
       "      <use x=\"306.201172\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <defs>\n",
       "       <path d=\"M 0 0 \n",
       "L -3.5 0 \n",
       "\" id=\"m17fc984a75\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"212.089145\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 0.5 -->\n",
       "      <defs>\n",
       "       <path d=\"M 10.6875 12.40625 \n",
       "L 21 12.40625 \n",
       "L 21 0 \n",
       "L 10.6875 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-2e\"/>\n",
       "      </defs>\n",
       "      <g transform=\"translate(20.878125 215.888364)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"180.557654\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 1.0 -->\n",
       "      <g transform=\"translate(20.878125 184.356872)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_9\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"149.026162\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_10\">\n",
       "      <!-- 1.5 -->\n",
       "      <g transform=\"translate(20.878125 152.82538)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_10\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"117.49467\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_11\">\n",
       "      <!-- 2.0 -->\n",
       "      <g transform=\"translate(20.878125 121.293889)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_11\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"85.963178\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_12\">\n",
       "      <!-- 2.5 -->\n",
       "      <g transform=\"translate(20.878125 89.762397)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_12\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"54.431686\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_13\">\n",
       "      <!-- 3.0 -->\n",
       "      <g transform=\"translate(20.878125 58.230905)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-33\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <g>\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"43.78125\" xlink:href=\"#m17fc984a75\" y=\"22.900194\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_14\">\n",
       "      <!-- 3.5 -->\n",
       "      <g transform=\"translate(20.878125 26.699413)scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-33\"/>\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-2e\"/>\n",
       "       <use x=\"95.410156\" xlink:href=\"#DejaVuSans-35\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_15\">\n",
       "     <!-- loss -->\n",
       "     <defs>\n",
       "      <path d=\"M 9.421875 75.984375 \n",
       "L 18.40625 75.984375 \n",
       "L 18.40625 0 \n",
       "L 9.421875 0 \n",
       "z\n",
       "\" id=\"DejaVuSans-6c\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(14.798438 140.695937)rotate(-90)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-6c\"/>\n",
       "      <use x=\"27.783203\" xlink:href=\"#DejaVuSans-6f\"/>\n",
       "      <use x=\"88.964844\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "      <use x=\"141.064453\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"line2d_14\">\n",
       "    <path clip-path=\"url(#p4c6cdaaaeb)\" d=\"M 58.999432 32.201761 \n",
       "L 60.829273 83.420408 \n",
       "L 63.269062 155.894251 \n",
       "L 63.879009 171.14511 \n",
       "L 64.488956 183.370384 \n",
       "L 65.098903 191.657009 \n",
       "L 65.708851 195.653667 \n",
       "L 66.318798 196.091287 \n",
       "L 66.928745 194.840241 \n",
       "L 67.538692 194.640568 \n",
       "L 68.148639 196.160217 \n",
       "L 69.368534 200.398425 \n",
       "L 71.198375 207.120908 \n",
       "L 72.418269 210.959044 \n",
       "L 73.638164 214.158206 \n",
       "L 74.858058 217.171148 \n",
       "L 76.077952 220.515284 \n",
       "L 76.6879 221.628907 \n",
       "L 77.297847 222.33489 \n",
       "L 77.907794 222.707654 \n",
       "L 79.127688 222.952835 \n",
       "L 80.347583 223.294128 \n",
       "L 81.567477 224.075615 \n",
       "L 83.397319 225.417471 \n",
       "L 84.617213 225.918127 \n",
       "L 85.837107 226.090224 \n",
       "L 86.447054 226.070811 \n",
       "L 90.106737 226.860411 \n",
       "L 91.936579 227.117909 \n",
       "L 92.546526 227.150431 \n",
       "L 93.156473 226.847041 \n",
       "L 97.426103 226.784971 \n",
       "L 98.036051 226.993903 \n",
       "L 102.915628 227.090584 \n",
       "L 123.653832 227.954953 \n",
       "L 138.292564 228.464352 \n",
       "L 155.981031 228.821524 \n",
       "L 181.598812 229.088397 \n",
       "L 231.61448 229.344753 \n",
       "L 363.363068 229.874489 \n",
       "L 363.363068 229.874489 \n",
       "\" style=\"fill:none;stroke:#0000ff;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
       "    <defs>\n",
       "     <path d=\"M 0 3 \n",
       "C 0.795609 3 1.55874 2.683901 2.12132 2.12132 \n",
       "C 2.683901 1.55874 3 0.795609 3 0 \n",
       "C 3 -0.795609 2.683901 -1.55874 2.12132 -2.12132 \n",
       "C 1.55874 -2.683901 0.795609 -3 0 -3 \n",
       "C -0.795609 -3 -1.55874 -2.683901 -2.12132 -2.12132 \n",
       "C -2.683901 -1.55874 -3 -0.795609 -3 0 \n",
       "C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 \n",
       "C -1.55874 2.683901 -0.795609 3 0 3 \n",
       "z\n",
       "\" id=\"m699393bd22\" style=\"stroke:#0000ff;\"/>\n",
       "    </defs>\n",
       "    <g clip-path=\"url(#p4c6cdaaaeb)\">\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"58.999432\" xlink:href=\"#m699393bd22\" y=\"32.201761\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"59.609379\" xlink:href=\"#m699393bd22\" y=\"48.669735\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"60.219326\" xlink:href=\"#m699393bd22\" y=\"65.693762\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"60.829273\" xlink:href=\"#m699393bd22\" y=\"83.420408\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"61.43922\" xlink:href=\"#m699393bd22\" y=\"101.748485\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"62.049168\" xlink:href=\"#m699393bd22\" y=\"120.319864\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"62.659115\" xlink:href=\"#m699393bd22\" y=\"138.647941\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"63.269062\" xlink:href=\"#m699393bd22\" y=\"155.894251\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"63.879009\" xlink:href=\"#m699393bd22\" y=\"171.14511\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"64.488956\" xlink:href=\"#m699393bd22\" y=\"183.370384\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"65.098903\" xlink:href=\"#m699393bd22\" y=\"191.657009\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"65.708851\" xlink:href=\"#m699393bd22\" y=\"195.653667\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"66.318798\" xlink:href=\"#m699393bd22\" y=\"196.091287\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"66.928745\" xlink:href=\"#m699393bd22\" y=\"194.840241\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"67.538692\" xlink:href=\"#m699393bd22\" y=\"194.640568\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"68.148639\" xlink:href=\"#m699393bd22\" y=\"196.160217\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"68.758586\" xlink:href=\"#m699393bd22\" y=\"198.15401\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"69.368534\" xlink:href=\"#m699393bd22\" y=\"200.398425\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"69.978481\" xlink:href=\"#m699393bd22\" y=\"202.708428\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"70.588428\" xlink:href=\"#m699393bd22\" y=\"204.969348\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"71.198375\" xlink:href=\"#m699393bd22\" y=\"207.120908\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"71.808322\" xlink:href=\"#m699393bd22\" y=\"209.123671\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"72.418269\" xlink:href=\"#m699393bd22\" y=\"210.959044\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"73.028217\" xlink:href=\"#m699393bd22\" y=\"212.62791\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"73.638164\" xlink:href=\"#m699393bd22\" y=\"214.158206\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"74.248111\" xlink:href=\"#m699393bd22\" y=\"215.545354\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"74.858058\" xlink:href=\"#m699393bd22\" y=\"217.171148\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"75.468005\" xlink:href=\"#m699393bd22\" y=\"218.996646\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"76.077952\" xlink:href=\"#m699393bd22\" y=\"220.515284\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"76.6879\" xlink:href=\"#m699393bd22\" y=\"221.628907\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"77.297847\" xlink:href=\"#m699393bd22\" y=\"222.33489\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"77.907794\" xlink:href=\"#m699393bd22\" y=\"222.707654\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"78.517741\" xlink:href=\"#m699393bd22\" y=\"222.868999\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"79.127688\" xlink:href=\"#m699393bd22\" y=\"222.952835\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"79.737635\" xlink:href=\"#m699393bd22\" y=\"223.071751\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"80.347583\" xlink:href=\"#m699393bd22\" y=\"223.294128\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"80.95753\" xlink:href=\"#m699393bd22\" y=\"223.637319\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"81.567477\" xlink:href=\"#m699393bd22\" y=\"224.075615\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"82.177424\" xlink:href=\"#m699393bd22\" y=\"224.556952\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"82.787371\" xlink:href=\"#m699393bd22\" y=\"225.02151\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"83.397319\" xlink:href=\"#m699393bd22\" y=\"225.417471\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"84.007266\" xlink:href=\"#m699393bd22\" y=\"225.712381\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"84.617213\" xlink:href=\"#m699393bd22\" y=\"225.918127\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"85.22716\" xlink:href=\"#m699393bd22\" y=\"226.049466\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"85.837107\" xlink:href=\"#m699393bd22\" y=\"226.090224\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"86.447054\" xlink:href=\"#m699393bd22\" y=\"226.070811\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"87.057002\" xlink:href=\"#m699393bd22\" y=\"226.218613\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"87.666949\" xlink:href=\"#m699393bd22\" y=\"226.302982\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"88.276896\" xlink:href=\"#m699393bd22\" y=\"226.569462\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"88.886843\" xlink:href=\"#m699393bd22\" y=\"226.644434\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"89.49679\" xlink:href=\"#m699393bd22\" y=\"226.746655\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"90.106737\" xlink:href=\"#m699393bd22\" y=\"226.860411\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"90.716685\" xlink:href=\"#m699393bd22\" y=\"226.968567\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"91.326632\" xlink:href=\"#m699393bd22\" y=\"227.057044\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"91.936579\" xlink:href=\"#m699393bd22\" y=\"227.117909\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"92.546526\" xlink:href=\"#m699393bd22\" y=\"227.150431\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"93.156473\" xlink:href=\"#m699393bd22\" y=\"226.847041\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"93.76642\" xlink:href=\"#m699393bd22\" y=\"226.842779\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"94.376368\" xlink:href=\"#m699393bd22\" y=\"226.836313\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"94.986315\" xlink:href=\"#m699393bd22\" y=\"226.835404\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"95.596262\" xlink:href=\"#m699393bd22\" y=\"226.853187\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"96.206209\" xlink:href=\"#m699393bd22\" y=\"226.875693\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"96.816156\" xlink:href=\"#m699393bd22\" y=\"226.910787\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"97.426103\" xlink:href=\"#m699393bd22\" y=\"226.784971\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"98.036051\" xlink:href=\"#m699393bd22\" y=\"226.993903\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"98.645998\" xlink:href=\"#m699393bd22\" y=\"226.995085\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"99.255945\" xlink:href=\"#m699393bd22\" y=\"227.011818\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"99.865892\" xlink:href=\"#m699393bd22\" y=\"227.017458\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"100.475839\" xlink:href=\"#m699393bd22\" y=\"227.021239\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"101.085786\" xlink:href=\"#m699393bd22\" y=\"227.029456\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"101.695734\" xlink:href=\"#m699393bd22\" y=\"227.044119\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"102.305681\" xlink:href=\"#m699393bd22\" y=\"227.06477\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"102.915628\" xlink:href=\"#m699393bd22\" y=\"227.090584\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"103.525575\" xlink:href=\"#m699393bd22\" y=\"227.119217\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"104.135522\" xlink:href=\"#m699393bd22\" y=\"227.147771\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"104.745469\" xlink:href=\"#m699393bd22\" y=\"227.173852\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"105.355417\" xlink:href=\"#m699393bd22\" y=\"227.196315\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"105.965364\" xlink:href=\"#m699393bd22\" y=\"227.215538\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"106.575311\" xlink:href=\"#m699393bd22\" y=\"227.233093\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"107.185258\" xlink:href=\"#m699393bd22\" y=\"227.251076\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"107.795205\" xlink:href=\"#m699393bd22\" y=\"227.271293\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"108.405152\" xlink:href=\"#m699393bd22\" y=\"227.294643\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"109.0151\" xlink:href=\"#m699393bd22\" y=\"227.320904\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"109.625047\" xlink:href=\"#m699393bd22\" y=\"227.348962\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"110.234994\" xlink:href=\"#m699393bd22\" y=\"227.37732\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"110.844941\" xlink:href=\"#m699393bd22\" y=\"227.404702\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"111.454888\" xlink:href=\"#m699393bd22\" y=\"227.430495\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"112.064835\" xlink:href=\"#m699393bd22\" y=\"227.454871\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"112.674783\" xlink:href=\"#m699393bd22\" y=\"227.478593\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"113.28473\" xlink:href=\"#m699393bd22\" y=\"227.502623\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"113.894677\" xlink:href=\"#m699393bd22\" y=\"227.527693\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"114.504624\" xlink:href=\"#m699393bd22\" y=\"227.55405\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"115.114571\" xlink:href=\"#m699393bd22\" y=\"227.581422\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"115.724518\" xlink:href=\"#m699393bd22\" y=\"227.609219\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"116.334466\" xlink:href=\"#m699393bd22\" y=\"227.636833\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"116.944413\" xlink:href=\"#m699393bd22\" y=\"227.663906\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"117.55436\" xlink:href=\"#m699393bd22\" y=\"227.690451\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"118.164307\" xlink:href=\"#m699393bd22\" y=\"227.716756\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"118.774254\" xlink:href=\"#m699393bd22\" y=\"227.743186\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"119.384201\" xlink:href=\"#m699393bd22\" y=\"227.769975\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"119.994149\" xlink:href=\"#m699393bd22\" y=\"227.797097\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"120.604096\" xlink:href=\"#m699393bd22\" y=\"227.824292\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"121.214043\" xlink:href=\"#m699393bd22\" y=\"227.851241\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"121.82399\" xlink:href=\"#m699393bd22\" y=\"227.877716\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"122.433937\" xlink:href=\"#m699393bd22\" y=\"227.903706\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"123.043884\" xlink:href=\"#m699393bd22\" y=\"227.929375\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"123.653832\" xlink:href=\"#m699393bd22\" y=\"227.954953\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"124.263779\" xlink:href=\"#m699393bd22\" y=\"227.980577\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"124.873726\" xlink:href=\"#m699393bd22\" y=\"228.006207\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"125.483673\" xlink:href=\"#m699393bd22\" y=\"228.031655\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"126.09362\" xlink:href=\"#m699393bd22\" y=\"228.056683\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"126.703567\" xlink:href=\"#m699393bd22\" y=\"228.081142\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"127.313515\" xlink:href=\"#m699393bd22\" y=\"228.105026\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"127.923462\" xlink:href=\"#m699393bd22\" y=\"228.128456\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"128.533409\" xlink:href=\"#m699393bd22\" y=\"228.151584\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"129.143356\" xlink:href=\"#m699393bd22\" y=\"228.174458\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"129.753303\" xlink:href=\"#m699393bd22\" y=\"228.197024\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"130.36325\" xlink:href=\"#m699393bd22\" y=\"228.219143\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"130.973198\" xlink:href=\"#m699393bd22\" y=\"228.240691\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"131.583145\" xlink:href=\"#m699393bd22\" y=\"228.261638\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"132.193092\" xlink:href=\"#m699393bd22\" y=\"228.282052\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"132.803039\" xlink:href=\"#m699393bd22\" y=\"228.302047\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"133.412986\" xlink:href=\"#m699393bd22\" y=\"228.321704\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"134.022933\" xlink:href=\"#m699393bd22\" y=\"228.341024\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"134.632881\" xlink:href=\"#m699393bd22\" y=\"228.359949\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"135.242828\" xlink:href=\"#m699393bd22\" y=\"228.378408\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"135.852775\" xlink:href=\"#m699393bd22\" y=\"228.396385\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"136.462722\" xlink:href=\"#m699393bd22\" y=\"228.413915\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"137.072669\" xlink:href=\"#m699393bd22\" y=\"228.431065\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"137.682616\" xlink:href=\"#m699393bd22\" y=\"228.447876\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"138.292564\" xlink:href=\"#m699393bd22\" y=\"228.464352\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"138.902511\" xlink:href=\"#m699393bd22\" y=\"228.480481\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"139.512458\" xlink:href=\"#m699393bd22\" y=\"228.496245\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"140.122405\" xlink:href=\"#m699393bd22\" y=\"228.511663\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"140.732352\" xlink:href=\"#m699393bd22\" y=\"228.526768\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"141.342299\" xlink:href=\"#m699393bd22\" y=\"228.541596\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"141.952247\" xlink:href=\"#m699393bd22\" y=\"228.556149\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"142.562194\" xlink:href=\"#m699393bd22\" y=\"228.57042\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"143.172141\" xlink:href=\"#m699393bd22\" y=\"228.584403\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"143.782088\" xlink:href=\"#m699393bd22\" y=\"228.5981\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"144.392035\" xlink:href=\"#m699393bd22\" y=\"228.61153\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"145.001982\" xlink:href=\"#m699393bd22\" y=\"228.624712\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"145.61193\" xlink:href=\"#m699393bd22\" y=\"228.637641\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"146.221877\" xlink:href=\"#m699393bd22\" y=\"228.650315\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"146.831824\" xlink:href=\"#m699393bd22\" y=\"228.662729\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"147.441771\" xlink:href=\"#m699393bd22\" y=\"228.674886\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"148.051718\" xlink:href=\"#m699393bd22\" y=\"228.686807\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"148.661665\" xlink:href=\"#m699393bd22\" y=\"228.6985\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"149.271613\" xlink:href=\"#m699393bd22\" y=\"228.709966\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"149.88156\" xlink:href=\"#m699393bd22\" y=\"228.721203\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"150.491507\" xlink:href=\"#m699393bd22\" y=\"228.732201\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"151.101454\" xlink:href=\"#m699393bd22\" y=\"228.742968\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"151.711401\" xlink:href=\"#m699393bd22\" y=\"228.753509\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"152.321348\" xlink:href=\"#m699393bd22\" y=\"228.763842\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"152.931296\" xlink:href=\"#m699393bd22\" y=\"228.773964\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"153.541243\" xlink:href=\"#m699393bd22\" y=\"228.783878\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"154.15119\" xlink:href=\"#m699393bd22\" y=\"228.793581\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"154.761137\" xlink:href=\"#m699393bd22\" y=\"228.803086\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"155.371084\" xlink:href=\"#m699393bd22\" y=\"228.812397\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"155.981031\" xlink:href=\"#m699393bd22\" y=\"228.821524\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"156.590979\" xlink:href=\"#m699393bd22\" y=\"228.830473\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"157.200926\" xlink:href=\"#m699393bd22\" y=\"228.839242\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"157.810873\" xlink:href=\"#m699393bd22\" y=\"228.847837\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"158.42082\" xlink:href=\"#m699393bd22\" y=\"228.856264\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"159.030767\" xlink:href=\"#m699393bd22\" y=\"228.86453\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"159.640714\" xlink:href=\"#m699393bd22\" y=\"228.872639\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"160.250662\" xlink:href=\"#m699393bd22\" y=\"228.88059\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"160.860609\" xlink:href=\"#m699393bd22\" y=\"228.888396\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"161.470556\" xlink:href=\"#m699393bd22\" y=\"228.896053\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"162.080503\" xlink:href=\"#m699393bd22\" y=\"228.903573\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"162.69045\" xlink:href=\"#m699393bd22\" y=\"228.910956\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"163.300397\" xlink:href=\"#m699393bd22\" y=\"228.918208\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"163.910345\" xlink:href=\"#m699393bd22\" y=\"228.92533\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"164.520292\" xlink:href=\"#m699393bd22\" y=\"228.932324\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"165.130239\" xlink:href=\"#m699393bd22\" y=\"228.939197\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"165.740186\" xlink:href=\"#m699393bd22\" y=\"228.945951\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"166.350133\" xlink:href=\"#m699393bd22\" y=\"228.952586\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"166.96008\" xlink:href=\"#m699393bd22\" y=\"228.95911\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"167.570028\" xlink:href=\"#m699393bd22\" y=\"228.965523\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"168.179975\" xlink:href=\"#m699393bd22\" y=\"228.97183\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"168.789922\" xlink:href=\"#m699393bd22\" y=\"228.978031\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"169.399869\" xlink:href=\"#m699393bd22\" y=\"228.98413\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"170.009816\" xlink:href=\"#m699393bd22\" y=\"228.990131\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"170.619763\" xlink:href=\"#m699393bd22\" y=\"228.996037\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"171.229711\" xlink:href=\"#m699393bd22\" y=\"229.001848\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"171.839658\" xlink:href=\"#m699393bd22\" y=\"229.007566\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"172.449605\" xlink:href=\"#m699393bd22\" y=\"229.013195\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"173.059552\" xlink:href=\"#m699393bd22\" y=\"229.018739\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"173.669499\" xlink:href=\"#m699393bd22\" y=\"229.024197\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"174.279446\" xlink:href=\"#m699393bd22\" y=\"229.029572\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"174.889394\" xlink:href=\"#m699393bd22\" y=\"229.034869\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"175.499341\" xlink:href=\"#m699393bd22\" y=\"229.040089\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"176.109288\" xlink:href=\"#m699393bd22\" y=\"229.045232\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"176.719235\" xlink:href=\"#m699393bd22\" y=\"229.050299\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"177.329182\" xlink:href=\"#m699393bd22\" y=\"229.055297\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"177.939129\" xlink:href=\"#m699393bd22\" y=\"229.060222\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"178.549077\" xlink:href=\"#m699393bd22\" y=\"229.065082\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"179.159024\" xlink:href=\"#m699393bd22\" y=\"229.069872\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"179.768971\" xlink:href=\"#m699393bd22\" y=\"229.074597\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"180.378918\" xlink:href=\"#m699393bd22\" y=\"229.07926\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"180.988865\" xlink:href=\"#m699393bd22\" y=\"229.083858\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"181.598812\" xlink:href=\"#m699393bd22\" y=\"229.088397\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"182.20876\" xlink:href=\"#m699393bd22\" y=\"229.092878\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"182.818707\" xlink:href=\"#m699393bd22\" y=\"229.097299\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"183.428654\" xlink:href=\"#m699393bd22\" y=\"229.101666\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"184.038601\" xlink:href=\"#m699393bd22\" y=\"229.105976\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"184.648548\" xlink:href=\"#m699393bd22\" y=\"229.110233\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"185.258495\" xlink:href=\"#m699393bd22\" y=\"229.114438\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"185.868443\" xlink:href=\"#m699393bd22\" y=\"229.118591\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"186.47839\" xlink:href=\"#m699393bd22\" y=\"229.122693\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"187.088337\" xlink:href=\"#m699393bd22\" y=\"229.126749\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"187.698284\" xlink:href=\"#m699393bd22\" y=\"229.130754\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"188.308231\" xlink:href=\"#m699393bd22\" y=\"229.134715\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"188.918178\" xlink:href=\"#m699393bd22\" y=\"229.138627\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"189.528126\" xlink:href=\"#m699393bd22\" y=\"229.142496\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"190.138073\" xlink:href=\"#m699393bd22\" y=\"229.146322\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"190.74802\" xlink:href=\"#m699393bd22\" y=\"229.150107\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"191.357967\" xlink:href=\"#m699393bd22\" y=\"229.153847\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"191.967914\" xlink:href=\"#m699393bd22\" y=\"229.157549\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"192.577861\" xlink:href=\"#m699393bd22\" y=\"229.16121\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"193.187809\" xlink:href=\"#m699393bd22\" y=\"229.164832\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"193.797756\" xlink:href=\"#m699393bd22\" y=\"229.168418\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"194.407703\" xlink:href=\"#m699393bd22\" y=\"229.171965\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"195.01765\" xlink:href=\"#m699393bd22\" y=\"229.175478\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"195.627597\" xlink:href=\"#m699393bd22\" y=\"229.178953\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"196.237544\" xlink:href=\"#m699393bd22\" y=\"229.182396\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"196.847492\" xlink:href=\"#m699393bd22\" y=\"229.185801\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"197.457439\" xlink:href=\"#m699393bd22\" y=\"229.189178\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"198.067386\" xlink:href=\"#m699393bd22\" y=\"229.19252\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"198.677333\" xlink:href=\"#m699393bd22\" y=\"229.195831\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"199.28728\" xlink:href=\"#m699393bd22\" y=\"229.199112\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"199.897227\" xlink:href=\"#m699393bd22\" y=\"229.202362\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"200.507175\" xlink:href=\"#m699393bd22\" y=\"229.205583\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"201.117122\" xlink:href=\"#m699393bd22\" y=\"229.208773\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"201.727069\" xlink:href=\"#m699393bd22\" y=\"229.21194\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"202.337016\" xlink:href=\"#m699393bd22\" y=\"229.215078\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"202.946963\" xlink:href=\"#m699393bd22\" y=\"229.218189\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"203.55691\" xlink:href=\"#m699393bd22\" y=\"229.221273\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"204.166858\" xlink:href=\"#m699393bd22\" y=\"229.224333\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"204.776805\" xlink:href=\"#m699393bd22\" y=\"229.227369\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"205.386752\" xlink:href=\"#m699393bd22\" y=\"229.23038\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"205.996699\" xlink:href=\"#m699393bd22\" y=\"229.233368\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"206.606646\" xlink:href=\"#m699393bd22\" y=\"229.236332\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"207.216593\" xlink:href=\"#m699393bd22\" y=\"229.239277\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"207.826541\" xlink:href=\"#m699393bd22\" y=\"229.242197\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"208.436488\" xlink:href=\"#m699393bd22\" y=\"229.245099\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"209.046435\" xlink:href=\"#m699393bd22\" y=\"229.247977\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"209.656382\" xlink:href=\"#m699393bd22\" y=\"229.250838\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"210.266329\" xlink:href=\"#m699393bd22\" y=\"229.25368\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"210.876276\" xlink:href=\"#m699393bd22\" y=\"229.2565\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"211.486224\" xlink:href=\"#m699393bd22\" y=\"229.259305\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"212.096171\" xlink:href=\"#m699393bd22\" y=\"229.262092\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"212.706118\" xlink:href=\"#m699393bd22\" y=\"229.264862\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"213.316065\" xlink:href=\"#m699393bd22\" y=\"229.267614\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"213.926012\" xlink:href=\"#m699393bd22\" y=\"229.27035\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"214.535959\" xlink:href=\"#m699393bd22\" y=\"229.273072\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"215.145907\" xlink:href=\"#m699393bd22\" y=\"229.275778\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"215.755854\" xlink:href=\"#m699393bd22\" y=\"229.278468\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"216.365801\" xlink:href=\"#m699393bd22\" y=\"229.281146\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"216.975748\" xlink:href=\"#m699393bd22\" y=\"229.28381\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"217.585695\" xlink:href=\"#m699393bd22\" y=\"229.28646\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"218.195642\" xlink:href=\"#m699393bd22\" y=\"229.289099\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"218.80559\" xlink:href=\"#m699393bd22\" y=\"229.291725\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"219.415537\" xlink:href=\"#m699393bd22\" y=\"229.294338\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"220.025484\" xlink:href=\"#m699393bd22\" y=\"229.29694\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"220.635431\" xlink:href=\"#m699393bd22\" y=\"229.299534\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"221.245378\" xlink:href=\"#m699393bd22\" y=\"229.302113\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"221.855325\" xlink:href=\"#m699393bd22\" y=\"229.304684\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"222.465273\" xlink:href=\"#m699393bd22\" y=\"229.307247\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"223.07522\" xlink:href=\"#m699393bd22\" y=\"229.309799\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"223.685167\" xlink:href=\"#m699393bd22\" y=\"229.312339\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"224.295114\" xlink:href=\"#m699393bd22\" y=\"229.314875\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"224.905061\" xlink:href=\"#m699393bd22\" y=\"229.317401\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"225.515008\" xlink:href=\"#m699393bd22\" y=\"229.31992\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"226.124956\" xlink:href=\"#m699393bd22\" y=\"229.322432\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"226.734903\" xlink:href=\"#m699393bd22\" y=\"229.324934\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"227.34485\" xlink:href=\"#m699393bd22\" y=\"229.327432\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"227.954797\" xlink:href=\"#m699393bd22\" y=\"229.329923\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"228.564744\" xlink:href=\"#m699393bd22\" y=\"229.332407\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"229.174691\" xlink:href=\"#m699393bd22\" y=\"229.334887\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"229.784639\" xlink:href=\"#m699393bd22\" y=\"229.337362\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"230.394586\" xlink:href=\"#m699393bd22\" y=\"229.339831\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"231.004533\" xlink:href=\"#m699393bd22\" y=\"229.342294\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"231.61448\" xlink:href=\"#m699393bd22\" y=\"229.344753\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"232.224427\" xlink:href=\"#m699393bd22\" y=\"229.34721\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"232.834374\" xlink:href=\"#m699393bd22\" y=\"229.349661\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"233.444322\" xlink:href=\"#m699393bd22\" y=\"229.352109\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"234.054269\" xlink:href=\"#m699393bd22\" y=\"229.354554\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"234.664216\" xlink:href=\"#m699393bd22\" y=\"229.356994\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"235.274163\" xlink:href=\"#m699393bd22\" y=\"229.359433\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"235.88411\" xlink:href=\"#m699393bd22\" y=\"229.361868\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"236.494057\" xlink:href=\"#m699393bd22\" y=\"229.364303\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"237.104005\" xlink:href=\"#m699393bd22\" y=\"229.366735\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"237.713952\" xlink:href=\"#m699393bd22\" y=\"229.369163\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"238.323899\" xlink:href=\"#m699393bd22\" y=\"229.371593\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"238.933846\" xlink:href=\"#m699393bd22\" y=\"229.374018\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"239.543793\" xlink:href=\"#m699393bd22\" y=\"229.376441\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"240.15374\" xlink:href=\"#m699393bd22\" y=\"229.378866\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"240.763688\" xlink:href=\"#m699393bd22\" y=\"229.381289\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"241.373635\" xlink:href=\"#m699393bd22\" y=\"229.383712\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"241.983582\" xlink:href=\"#m699393bd22\" y=\"229.386133\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"242.593529\" xlink:href=\"#m699393bd22\" y=\"229.388557\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"243.203476\" xlink:href=\"#m699393bd22\" y=\"229.390977\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"243.813423\" xlink:href=\"#m699393bd22\" y=\"229.393398\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"244.423371\" xlink:href=\"#m699393bd22\" y=\"229.395819\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"245.033318\" xlink:href=\"#m699393bd22\" y=\"229.398242\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"245.643265\" xlink:href=\"#m699393bd22\" y=\"229.400663\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"246.253212\" xlink:href=\"#m699393bd22\" y=\"229.403086\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"246.863159\" xlink:href=\"#m699393bd22\" y=\"229.40551\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"247.473106\" xlink:href=\"#m699393bd22\" y=\"229.407934\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"248.083054\" xlink:href=\"#m699393bd22\" y=\"229.410358\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"248.693001\" xlink:href=\"#m699393bd22\" y=\"229.412786\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"249.302948\" xlink:href=\"#m699393bd22\" y=\"229.415211\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"249.912895\" xlink:href=\"#m699393bd22\" y=\"229.417638\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"250.522842\" xlink:href=\"#m699393bd22\" y=\"229.420068\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"251.132789\" xlink:href=\"#m699393bd22\" y=\"229.4225\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"251.742737\" xlink:href=\"#m699393bd22\" y=\"229.424932\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"252.352684\" xlink:href=\"#m699393bd22\" y=\"229.427367\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"252.962631\" xlink:href=\"#m699393bd22\" y=\"229.429804\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"253.572578\" xlink:href=\"#m699393bd22\" y=\"229.432242\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"254.182525\" xlink:href=\"#m699393bd22\" y=\"229.434681\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"254.792472\" xlink:href=\"#m699393bd22\" y=\"229.437123\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"255.40242\" xlink:href=\"#m699393bd22\" y=\"229.439567\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"256.012367\" xlink:href=\"#m699393bd22\" y=\"229.442013\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"256.622314\" xlink:href=\"#m699393bd22\" y=\"229.444461\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"257.232261\" xlink:href=\"#m699393bd22\" y=\"229.446909\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"257.842208\" xlink:href=\"#m699393bd22\" y=\"229.449363\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"258.452155\" xlink:href=\"#m699393bd22\" y=\"229.451819\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"259.062103\" xlink:href=\"#m699393bd22\" y=\"229.454276\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"259.67205\" xlink:href=\"#m699393bd22\" y=\"229.456736\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"260.281997\" xlink:href=\"#m699393bd22\" y=\"229.459198\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"260.891944\" xlink:href=\"#m699393bd22\" y=\"229.461664\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"261.501891\" xlink:href=\"#m699393bd22\" y=\"229.464131\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"262.111838\" xlink:href=\"#m699393bd22\" y=\"229.4666\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"262.721786\" xlink:href=\"#m699393bd22\" y=\"229.469074\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"263.331733\" xlink:href=\"#m699393bd22\" y=\"229.471551\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"263.94168\" xlink:href=\"#m699393bd22\" y=\"229.474028\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"264.551627\" xlink:href=\"#m699393bd22\" y=\"229.476509\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"265.161574\" xlink:href=\"#m699393bd22\" y=\"229.478994\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"265.771521\" xlink:href=\"#m699393bd22\" y=\"229.48148\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"266.381469\" xlink:href=\"#m699393bd22\" y=\"229.483971\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"266.991416\" xlink:href=\"#m699393bd22\" y=\"229.486466\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"267.601363\" xlink:href=\"#m699393bd22\" y=\"229.488963\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"268.21131\" xlink:href=\"#m699393bd22\" y=\"229.491462\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"268.821257\" xlink:href=\"#m699393bd22\" y=\"229.493964\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"269.431204\" xlink:href=\"#m699393bd22\" y=\"229.496469\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"270.041152\" xlink:href=\"#m699393bd22\" y=\"229.498978\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"270.651099\" xlink:href=\"#m699393bd22\" y=\"229.501489\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"271.261046\" xlink:href=\"#m699393bd22\" y=\"229.504004\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"271.870993\" xlink:href=\"#m699393bd22\" y=\"229.506525\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"272.48094\" xlink:href=\"#m699393bd22\" y=\"229.509047\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"273.090887\" xlink:href=\"#m699393bd22\" y=\"229.51157\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"273.700835\" xlink:href=\"#m699393bd22\" y=\"229.5141\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"274.310782\" xlink:href=\"#m699393bd22\" y=\"229.516634\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"274.920729\" xlink:href=\"#m699393bd22\" y=\"229.519169\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"275.530676\" xlink:href=\"#m699393bd22\" y=\"229.521707\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"276.140623\" xlink:href=\"#m699393bd22\" y=\"229.524249\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"276.75057\" xlink:href=\"#m699393bd22\" y=\"229.526795\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"277.360518\" xlink:href=\"#m699393bd22\" y=\"229.529345\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"277.970465\" xlink:href=\"#m699393bd22\" y=\"229.531896\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"278.580412\" xlink:href=\"#m699393bd22\" y=\"229.534453\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"279.190359\" xlink:href=\"#m699393bd22\" y=\"229.537013\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"279.800306\" xlink:href=\"#m699393bd22\" y=\"229.539575\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"280.410253\" xlink:href=\"#m699393bd22\" y=\"229.542142\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"281.020201\" xlink:href=\"#m699393bd22\" y=\"229.544712\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"281.630148\" xlink:href=\"#m699393bd22\" y=\"229.547285\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"282.240095\" xlink:href=\"#m699393bd22\" y=\"229.54986\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"282.850042\" xlink:href=\"#m699393bd22\" y=\"229.552441\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"283.459989\" xlink:href=\"#m699393bd22\" y=\"229.555024\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"284.069936\" xlink:href=\"#m699393bd22\" y=\"229.557611\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"284.679884\" xlink:href=\"#m699393bd22\" y=\"229.560199\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"285.289831\" xlink:href=\"#m699393bd22\" y=\"229.562793\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"285.899778\" xlink:href=\"#m699393bd22\" y=\"229.565389\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"286.509725\" xlink:href=\"#m699393bd22\" y=\"229.567989\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"287.119672\" xlink:href=\"#m699393bd22\" y=\"229.570591\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"287.729619\" xlink:href=\"#m699393bd22\" y=\"229.573195\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"288.339567\" xlink:href=\"#m699393bd22\" y=\"229.575802\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"288.949514\" xlink:href=\"#m699393bd22\" y=\"229.578413\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"289.559461\" xlink:href=\"#m699393bd22\" y=\"229.581026\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"290.169408\" xlink:href=\"#m699393bd22\" y=\"229.583643\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"290.779355\" xlink:href=\"#m699393bd22\" y=\"229.58626\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"291.389302\" xlink:href=\"#m699393bd22\" y=\"229.588883\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"291.99925\" xlink:href=\"#m699393bd22\" y=\"229.591506\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"292.609197\" xlink:href=\"#m699393bd22\" y=\"229.594128\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"293.219144\" xlink:href=\"#m699393bd22\" y=\"229.596756\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"293.829091\" xlink:href=\"#m699393bd22\" y=\"229.599386\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"294.439038\" xlink:href=\"#m699393bd22\" y=\"229.602019\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"295.048985\" xlink:href=\"#m699393bd22\" y=\"229.604649\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"295.658933\" xlink:href=\"#m699393bd22\" y=\"229.607284\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"296.26888\" xlink:href=\"#m699393bd22\" y=\"229.609919\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"296.878827\" xlink:href=\"#m699393bd22\" y=\"229.612557\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"297.488774\" xlink:href=\"#m699393bd22\" y=\"229.615195\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"298.098721\" xlink:href=\"#m699393bd22\" y=\"229.617833\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"298.708668\" xlink:href=\"#m699393bd22\" y=\"229.620473\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"299.318616\" xlink:href=\"#m699393bd22\" y=\"229.623113\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"299.928563\" xlink:href=\"#m699393bd22\" y=\"229.625754\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"300.53851\" xlink:href=\"#m699393bd22\" y=\"229.628393\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"301.148457\" xlink:href=\"#m699393bd22\" y=\"229.631035\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"301.758404\" xlink:href=\"#m699393bd22\" y=\"229.633674\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"302.368351\" xlink:href=\"#m699393bd22\" y=\"229.636315\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"302.978299\" xlink:href=\"#m699393bd22\" y=\"229.638955\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"303.588246\" xlink:href=\"#m699393bd22\" y=\"229.641592\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"304.198193\" xlink:href=\"#m699393bd22\" y=\"229.64423\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"304.80814\" xlink:href=\"#m699393bd22\" y=\"229.646867\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"305.418087\" xlink:href=\"#m699393bd22\" y=\"229.649503\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"306.028034\" xlink:href=\"#m699393bd22\" y=\"229.652136\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"306.637982\" xlink:href=\"#m699393bd22\" y=\"229.654767\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"307.247929\" xlink:href=\"#m699393bd22\" y=\"229.657396\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"307.857876\" xlink:href=\"#m699393bd22\" y=\"229.660023\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"308.467823\" xlink:href=\"#m699393bd22\" y=\"229.662648\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"309.07777\" xlink:href=\"#m699393bd22\" y=\"229.66527\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"309.687717\" xlink:href=\"#m699393bd22\" y=\"229.667889\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"310.297665\" xlink:href=\"#m699393bd22\" y=\"229.670503\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"310.907612\" xlink:href=\"#m699393bd22\" y=\"229.673117\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"311.517559\" xlink:href=\"#m699393bd22\" y=\"229.675726\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"312.127506\" xlink:href=\"#m699393bd22\" y=\"229.678331\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"312.737453\" xlink:href=\"#m699393bd22\" y=\"229.680932\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"313.3474\" xlink:href=\"#m699393bd22\" y=\"229.68353\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"313.957348\" xlink:href=\"#m699393bd22\" y=\"229.686122\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"314.567295\" xlink:href=\"#m699393bd22\" y=\"229.688711\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"315.177242\" xlink:href=\"#m699393bd22\" y=\"229.691295\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"315.787189\" xlink:href=\"#m699393bd22\" y=\"229.693872\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"316.397136\" xlink:href=\"#m699393bd22\" y=\"229.696445\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"317.007083\" xlink:href=\"#m699393bd22\" y=\"229.699014\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"317.617031\" xlink:href=\"#m699393bd22\" y=\"229.701575\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"318.226978\" xlink:href=\"#m699393bd22\" y=\"229.704134\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"318.836925\" xlink:href=\"#m699393bd22\" y=\"229.706685\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"319.446872\" xlink:href=\"#m699393bd22\" y=\"229.70923\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"320.056819\" xlink:href=\"#m699393bd22\" y=\"229.71177\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"320.666766\" xlink:href=\"#m699393bd22\" y=\"229.7143\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"321.276714\" xlink:href=\"#m699393bd22\" y=\"229.716829\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"321.886661\" xlink:href=\"#m699393bd22\" y=\"229.719347\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"322.496608\" xlink:href=\"#m699393bd22\" y=\"229.721862\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"323.106555\" xlink:href=\"#m699393bd22\" y=\"229.724367\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"323.716502\" xlink:href=\"#m699393bd22\" y=\"229.726867\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"324.326449\" xlink:href=\"#m699393bd22\" y=\"229.729358\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"324.936397\" xlink:href=\"#m699393bd22\" y=\"229.731845\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"325.546344\" xlink:href=\"#m699393bd22\" y=\"229.73432\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"326.156291\" xlink:href=\"#m699393bd22\" y=\"229.736792\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"326.766238\" xlink:href=\"#m699393bd22\" y=\"229.739255\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"327.376185\" xlink:href=\"#m699393bd22\" y=\"229.741711\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"327.986132\" xlink:href=\"#m699393bd22\" y=\"229.74416\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"328.59608\" xlink:href=\"#m699393bd22\" y=\"229.746602\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"329.206027\" xlink:href=\"#m699393bd22\" y=\"229.749033\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"329.815974\" xlink:href=\"#m699393bd22\" y=\"229.751462\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"330.425921\" xlink:href=\"#m699393bd22\" y=\"229.753879\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"331.035868\" xlink:href=\"#m699393bd22\" y=\"229.756289\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"331.645815\" xlink:href=\"#m699393bd22\" y=\"229.758691\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"332.255763\" xlink:href=\"#m699393bd22\" y=\"229.761086\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"332.86571\" xlink:href=\"#m699393bd22\" y=\"229.763474\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"333.475657\" xlink:href=\"#m699393bd22\" y=\"229.765853\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"334.085604\" xlink:href=\"#m699393bd22\" y=\"229.768224\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"334.695551\" xlink:href=\"#m699393bd22\" y=\"229.770588\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"335.305498\" xlink:href=\"#m699393bd22\" y=\"229.772945\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"335.915446\" xlink:href=\"#m699393bd22\" y=\"229.775295\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"336.525393\" xlink:href=\"#m699393bd22\" y=\"229.777635\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"337.13534\" xlink:href=\"#m699393bd22\" y=\"229.779968\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"337.745287\" xlink:href=\"#m699393bd22\" y=\"229.782294\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"338.355234\" xlink:href=\"#m699393bd22\" y=\"229.784614\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"338.965181\" xlink:href=\"#m699393bd22\" y=\"229.786923\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"339.575129\" xlink:href=\"#m699393bd22\" y=\"229.789228\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"340.185076\" xlink:href=\"#m699393bd22\" y=\"229.791523\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"340.795023\" xlink:href=\"#m699393bd22\" y=\"229.793813\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"341.40497\" xlink:href=\"#m699393bd22\" y=\"229.796094\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"342.014917\" xlink:href=\"#m699393bd22\" y=\"229.798369\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"342.624865\" xlink:href=\"#m699393bd22\" y=\"229.800636\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"343.234812\" xlink:href=\"#m699393bd22\" y=\"229.802897\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"343.844759\" xlink:href=\"#m699393bd22\" y=\"229.805151\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"344.454706\" xlink:href=\"#m699393bd22\" y=\"229.807399\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"345.064653\" xlink:href=\"#m699393bd22\" y=\"229.809638\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"345.6746\" xlink:href=\"#m699393bd22\" y=\"229.811874\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"346.284548\" xlink:href=\"#m699393bd22\" y=\"229.814102\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"346.894495\" xlink:href=\"#m699393bd22\" y=\"229.816323\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"347.504442\" xlink:href=\"#m699393bd22\" y=\"229.81854\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"348.114389\" xlink:href=\"#m699393bd22\" y=\"229.820748\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"348.724336\" xlink:href=\"#m699393bd22\" y=\"229.822954\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"349.334283\" xlink:href=\"#m699393bd22\" y=\"229.825151\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"349.944231\" xlink:href=\"#m699393bd22\" y=\"229.827344\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"350.554178\" xlink:href=\"#m699393bd22\" y=\"229.829531\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"351.164125\" xlink:href=\"#m699393bd22\" y=\"229.831712\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"351.774072\" xlink:href=\"#m699393bd22\" y=\"229.833888\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"352.384019\" xlink:href=\"#m699393bd22\" y=\"229.836059\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"352.993966\" xlink:href=\"#m699393bd22\" y=\"229.838227\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"353.603914\" xlink:href=\"#m699393bd22\" y=\"229.840389\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"354.213861\" xlink:href=\"#m699393bd22\" y=\"229.842549\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"354.823808\" xlink:href=\"#m699393bd22\" y=\"229.8447\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"355.433755\" xlink:href=\"#m699393bd22\" y=\"229.846849\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"356.043702\" xlink:href=\"#m699393bd22\" y=\"229.848994\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"356.653649\" xlink:href=\"#m699393bd22\" y=\"229.851135\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"357.263597\" xlink:href=\"#m699393bd22\" y=\"229.853273\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"357.873544\" xlink:href=\"#m699393bd22\" y=\"229.855407\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"358.483491\" xlink:href=\"#m699393bd22\" y=\"229.857537\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"359.093438\" xlink:href=\"#m699393bd22\" y=\"229.859666\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"359.703385\" xlink:href=\"#m699393bd22\" y=\"229.861791\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"360.313332\" xlink:href=\"#m699393bd22\" y=\"229.863911\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"360.92328\" xlink:href=\"#m699393bd22\" y=\"229.866031\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"361.533227\" xlink:href=\"#m699393bd22\" y=\"229.868147\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"362.143174\" xlink:href=\"#m699393bd22\" y=\"229.870264\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"362.753121\" xlink:href=\"#m699393bd22\" y=\"229.872377\"/>\n",
       "     <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"363.363068\" xlink:href=\"#m699393bd22\" y=\"229.874489\"/>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 43.78125 239.758125 \n",
       "L 43.78125 22.318125 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 378.58125 239.758125 \n",
       "L 378.58125 22.318125 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 43.78125 239.758125 \n",
       "L 378.58125 239.758125 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 43.78125 22.318125 \n",
       "L 378.58125 22.318125 \n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
       "   </g>\n",
       "   <g id=\"text_16\">\n",
       "    <!-- Trainingloss -->\n",
       "    <defs>\n",
       "     <path d=\"M -0.296875 72.90625 \n",
       "L 61.375 72.90625 \n",
       "L 61.375 64.59375 \n",
       "L 35.5 64.59375 \n",
       "L 35.5 0 \n",
       "L 25.59375 0 \n",
       "L 25.59375 64.59375 \n",
       "L -0.296875 64.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-54\"/>\n",
       "     <path d=\"M 41.109375 46.296875 \n",
       "Q 39.59375 47.171875 37.8125 47.578125 \n",
       "Q 36.03125 48 33.890625 48 \n",
       "Q 26.265625 48 22.1875 43.046875 \n",
       "Q 18.109375 38.09375 18.109375 28.8125 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 20.953125 51.171875 25.484375 53.578125 \n",
       "Q 30.03125 56 36.53125 56 \n",
       "Q 37.453125 56 38.578125 55.875 \n",
       "Q 39.703125 55.765625 41.0625 55.515625 \n",
       "z\n",
       "\" id=\"DejaVuSans-72\"/>\n",
       "     <path d=\"M 34.28125 27.484375 \n",
       "Q 23.390625 27.484375 19.1875 25 \n",
       "Q 14.984375 22.515625 14.984375 16.5 \n",
       "Q 14.984375 11.71875 18.140625 8.90625 \n",
       "Q 21.296875 6.109375 26.703125 6.109375 \n",
       "Q 34.1875 6.109375 38.703125 11.40625 \n",
       "Q 43.21875 16.703125 43.21875 25.484375 \n",
       "L 43.21875 27.484375 \n",
       "z\n",
       "M 52.203125 31.203125 \n",
       "L 52.203125 0 \n",
       "L 43.21875 0 \n",
       "L 43.21875 8.296875 \n",
       "Q 40.140625 3.328125 35.546875 0.953125 \n",
       "Q 30.953125 -1.421875 24.3125 -1.421875 \n",
       "Q 15.921875 -1.421875 10.953125 3.296875 \n",
       "Q 6 8.015625 6 15.921875 \n",
       "Q 6 25.140625 12.171875 29.828125 \n",
       "Q 18.359375 34.515625 30.609375 34.515625 \n",
       "L 43.21875 34.515625 \n",
       "L 43.21875 35.40625 \n",
       "Q 43.21875 41.609375 39.140625 45 \n",
       "Q 35.0625 48.390625 27.6875 48.390625 \n",
       "Q 23 48.390625 18.546875 47.265625 \n",
       "Q 14.109375 46.140625 10.015625 43.890625 \n",
       "L 10.015625 52.203125 \n",
       "Q 14.9375 54.109375 19.578125 55.046875 \n",
       "Q 24.21875 56 28.609375 56 \n",
       "Q 40.484375 56 46.34375 49.84375 \n",
       "Q 52.203125 43.703125 52.203125 31.203125 \n",
       "z\n",
       "\" id=\"DejaVuSans-61\"/>\n",
       "     <path d=\"M 9.421875 54.6875 \n",
       "L 18.40625 54.6875 \n",
       "L 18.40625 0 \n",
       "L 9.421875 0 \n",
       "z\n",
       "M 9.421875 75.984375 \n",
       "L 18.40625 75.984375 \n",
       "L 18.40625 64.59375 \n",
       "L 9.421875 64.59375 \n",
       "z\n",
       "\" id=\"DejaVuSans-69\"/>\n",
       "     <path d=\"M 54.890625 33.015625 \n",
       "L 54.890625 0 \n",
       "L 45.90625 0 \n",
       "L 45.90625 32.71875 \n",
       "Q 45.90625 40.484375 42.875 44.328125 \n",
       "Q 39.84375 48.1875 33.796875 48.1875 \n",
       "Q 26.515625 48.1875 22.3125 43.546875 \n",
       "Q 18.109375 38.921875 18.109375 30.90625 \n",
       "L 18.109375 0 \n",
       "L 9.078125 0 \n",
       "L 9.078125 54.6875 \n",
       "L 18.109375 54.6875 \n",
       "L 18.109375 46.1875 \n",
       "Q 21.34375 51.125 25.703125 53.5625 \n",
       "Q 30.078125 56 35.796875 56 \n",
       "Q 45.21875 56 50.046875 50.171875 \n",
       "Q 54.890625 44.34375 54.890625 33.015625 \n",
       "z\n",
       "\" id=\"DejaVuSans-6e\"/>\n",
       "     <path d=\"M 45.40625 27.984375 \n",
       "Q 45.40625 37.75 41.375 43.109375 \n",
       "Q 37.359375 48.484375 30.078125 48.484375 \n",
       "Q 22.859375 48.484375 18.828125 43.109375 \n",
       "Q 14.796875 37.75 14.796875 27.984375 \n",
       "Q 14.796875 18.265625 18.828125 12.890625 \n",
       "Q 22.859375 7.515625 30.078125 7.515625 \n",
       "Q 37.359375 7.515625 41.375 12.890625 \n",
       "Q 45.40625 18.265625 45.40625 27.984375 \n",
       "z\n",
       "M 54.390625 6.78125 \n",
       "Q 54.390625 -7.171875 48.1875 -13.984375 \n",
       "Q 42 -20.796875 29.203125 -20.796875 \n",
       "Q 24.46875 -20.796875 20.265625 -20.09375 \n",
       "Q 16.0625 -19.390625 12.109375 -17.921875 \n",
       "L 12.109375 -9.1875 \n",
       "Q 16.0625 -11.328125 19.921875 -12.34375 \n",
       "Q 23.78125 -13.375 27.78125 -13.375 \n",
       "Q 36.625 -13.375 41.015625 -8.765625 \n",
       "Q 45.40625 -4.15625 45.40625 5.171875 \n",
       "L 45.40625 9.625 \n",
       "Q 42.625 4.78125 38.28125 2.390625 \n",
       "Q 33.9375 0 27.875 0 \n",
       "Q 17.828125 0 11.671875 7.65625 \n",
       "Q 5.515625 15.328125 5.515625 27.984375 \n",
       "Q 5.515625 40.671875 11.671875 48.328125 \n",
       "Q 17.828125 56 27.875 56 \n",
       "Q 33.9375 56 38.28125 53.609375 \n",
       "Q 42.625 51.21875 45.40625 46.390625 \n",
       "L 45.40625 54.6875 \n",
       "L 54.390625 54.6875 \n",
       "z\n",
       "\" id=\"DejaVuSans-67\"/>\n",
       "    </defs>\n",
       "    <g transform=\"translate(175.049062 16.318125)scale(0.12 -0.12)\">\n",
       "     <use xlink:href=\"#DejaVuSans-54\"/>\n",
       "     <use x=\"60.865234\" xlink:href=\"#DejaVuSans-72\"/>\n",
       "     <use x=\"101.978516\" xlink:href=\"#DejaVuSans-61\"/>\n",
       "     <use x=\"163.257812\" xlink:href=\"#DejaVuSans-69\"/>\n",
       "     <use x=\"191.041016\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "     <use x=\"254.419922\" xlink:href=\"#DejaVuSans-69\"/>\n",
       "     <use x=\"282.203125\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "     <use x=\"345.582031\" xlink:href=\"#DejaVuSans-67\"/>\n",
       "     <use x=\"409.058594\" xlink:href=\"#DejaVuSans-6c\"/>\n",
       "     <use x=\"436.841797\" xlink:href=\"#DejaVuSans-6f\"/>\n",
       "     <use x=\"498.023438\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "     <use x=\"550.123047\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"legend_1\">\n",
       "    <g id=\"patch_7\">\n",
       "     <path d=\"M 291.990625 45.274375 \n",
       "L 371.58125 45.274375 \n",
       "Q 373.58125 45.274375 373.58125 43.274375 \n",
       "L 373.58125 29.318125 \n",
       "Q 373.58125 27.318125 371.58125 27.318125 \n",
       "L 291.990625 27.318125 \n",
       "Q 289.990625 27.318125 289.990625 29.318125 \n",
       "L 289.990625 43.274375 \n",
       "Q 289.990625 45.274375 291.990625 45.274375 \n",
       "z\n",
       "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_15\">\n",
       "     <path d=\"M 293.990625 35.416562 \n",
       "L 313.990625 35.416562 \n",
       "\" style=\"fill:none;stroke:#0000ff;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_16\">\n",
       "     <g>\n",
       "      <use style=\"fill:#0000ff;stroke:#0000ff;\" x=\"303.990625\" xlink:href=\"#m699393bd22\" y=\"35.416562\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_17\">\n",
       "     <!-- train_loss -->\n",
       "     <defs>\n",
       "      <path d=\"M 18.3125 70.21875 \n",
       "L 18.3125 54.6875 \n",
       "L 36.8125 54.6875 \n",
       "L 36.8125 47.703125 \n",
       "L 18.3125 47.703125 \n",
       "L 18.3125 18.015625 \n",
       "Q 18.3125 11.328125 20.140625 9.421875 \n",
       "Q 21.96875 7.515625 27.59375 7.515625 \n",
       "L 36.8125 7.515625 \n",
       "L 36.8125 0 \n",
       "L 27.59375 0 \n",
       "Q 17.1875 0 13.234375 3.875 \n",
       "Q 9.28125 7.765625 9.28125 18.015625 \n",
       "L 9.28125 47.703125 \n",
       "L 2.6875 47.703125 \n",
       "L 2.6875 54.6875 \n",
       "L 9.28125 54.6875 \n",
       "L 9.28125 70.21875 \n",
       "z\n",
       "\" id=\"DejaVuSans-74\"/>\n",
       "      <path d=\"M 50.984375 -16.609375 \n",
       "L 50.984375 -23.578125 \n",
       "L -0.984375 -23.578125 \n",
       "L -0.984375 -16.609375 \n",
       "z\n",
       "\" id=\"DejaVuSans-5f\"/>\n",
       "     </defs>\n",
       "     <g transform=\"translate(321.990625 38.916562)scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-74\"/>\n",
       "      <use x=\"39.208984\" xlink:href=\"#DejaVuSans-72\"/>\n",
       "      <use x=\"80.322266\" xlink:href=\"#DejaVuSans-61\"/>\n",
       "      <use x=\"141.601562\" xlink:href=\"#DejaVuSans-69\"/>\n",
       "      <use x=\"169.384766\" xlink:href=\"#DejaVuSans-6e\"/>\n",
       "      <use x=\"232.763672\" xlink:href=\"#DejaVuSans-5f\"/>\n",
       "      <use x=\"282.763672\" xlink:href=\"#DejaVuSans-6c\"/>\n",
       "      <use x=\"310.546875\" xlink:href=\"#DejaVuSans-6f\"/>\n",
       "      <use x=\"371.728516\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "      <use x=\"423.828125\" xlink:href=\"#DejaVuSans-73\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"p4c6cdaaaeb\">\n",
       "   <rect height=\"217.44\" width=\"334.8\" x=\"43.78125\" y=\"22.318125\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_metric(history, \"loss\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 五，使用模型\n",
    "此处我们使用模型预测疫情结束时间，即 新增确诊病例为0 的时间。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>confirmed_num</th>\n",
       "      <th>cured_num</th>\n",
       "      <th>dead_num</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>143.0</td>\n",
       "      <td>1681.0</td>\n",
       "      <td>30.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>99.0</td>\n",
       "      <td>1678.0</td>\n",
       "      <td>28.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>44.0</td>\n",
       "      <td>1661.0</td>\n",
       "      <td>27.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>40.0</td>\n",
       "      <td>1535.0</td>\n",
       "      <td>22.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>19.0</td>\n",
       "      <td>1297.0</td>\n",
       "      <td>17.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    confirmed_num  cured_num  dead_num\n",
       "41          143.0     1681.0      30.0\n",
       "42           99.0     1678.0      28.0\n",
       "43           44.0     1661.0      27.0\n",
       "44           40.0     1535.0      22.0\n",
       "45           19.0     1297.0      17.0"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#使用dfresult记录现有数据以及此后预测的疫情数据\n",
    "dfresult = dfdiff[[\"confirmed_num\",\"cured_num\",\"dead_num\"]].copy()\n",
    "dfresult.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "#预测此后100天的新增走势,将其结果添加到dfresult中\n",
    "for i in range(100):\n",
    "    arr_predict = model.predict(tf.constant(tf.expand_dims(dfresult.values[-38:,:], axis=0)))\n",
    "    dfpredict = pd.DataFrame(tf.cast(tf.floor(arr_predict), tf.float32).numpy(),\n",
    "                            columns=dfresult.columns)\n",
    "    dfresult = dfresult.append(dfpredict, ignore_index=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>confirmed_num</th>\n",
       "      <th>cured_num</th>\n",
       "      <th>dead_num</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>0.0</td>\n",
       "      <td>838.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>0.0</td>\n",
       "      <td>766.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>0.0</td>\n",
       "      <td>703.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>0.0</td>\n",
       "      <td>647.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>0.0</td>\n",
       "      <td>597.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    confirmed_num  cured_num  dead_num\n",
       "50            0.0      838.0       3.0\n",
       "51            0.0      766.0       2.0\n",
       "52            0.0      703.0       1.0\n",
       "53            0.0      647.0       0.0\n",
       "54            0.0      597.0       0.0"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfresult.query(\"confirmed_num==0\").head()\n",
    "\n",
    "# 第50天开始新增确诊降为0，第45天对应3月10日，也就是5天后，即预计3月15日新增确诊降为0\n",
    "# 注：该预测偏乐观"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>confirmed_num</th>\n",
       "      <th>cured_num</th>\n",
       "      <th>dead_num</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>112</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>114</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     confirmed_num  cured_num  dead_num\n",
       "112            0.0        0.0       0.0\n",
       "113            0.0        0.0       0.0\n",
       "114            0.0        0.0       0.0\n",
       "115            0.0        0.0       0.0\n",
       "116            0.0        0.0       0.0"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfresult.query(\"cured_num==0\").head()\n",
    "\n",
    "# 第112天开始新增治愈降为0，第45天对应3月10日，也就是大概3个月左右全部治愈。\n",
    "# 注: 该预测偏悲观，并且存在问题，如果将每天新增治愈人数加起来，将超过累计确诊人数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>confirmed_num</th>\n",
       "      <th>cured_num</th>\n",
       "      <th>dead_num</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>0.0</td>\n",
       "      <td>647.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>0.0</td>\n",
       "      <td>597.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>0.0</td>\n",
       "      <td>552.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>0.0</td>\n",
       "      <td>511.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>0.0</td>\n",
       "      <td>474.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    confirmed_num  cured_num  dead_num\n",
       "53            0.0      647.0       0.0\n",
       "54            0.0      597.0       0.0\n",
       "55            0.0      552.0       0.0\n",
       "56            0.0      511.0       0.0\n",
       "57            0.0      474.0       0.0"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfresult.query(\"dead_num==0\").head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 六，保存模型\n",
    "\n",
    "推荐使用TensorFlow原生方式保存模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /Users/alan/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/ops/resource_variable_ops.py:1786: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "If using Keras pass *_constraint arguments to layers.\n",
      "INFO:tensorflow:Assets written to: ./data/tf_model_savedmodel/assets\n",
      "export saved model.\n"
     ]
    }
   ],
   "source": [
    "model.save('./data/tf_model_savedmodel', save_format=\"tf\")\n",
    "print('export saved model.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.28645032e+03, 9.31316528e+01, 2.33789563e+00],\n",
       "       [1.58676514e+03, 7.30236816e+01, 4.75372124e+00],\n",
       "       [1.73140649e+03, 1.55572189e+02, 4.44200182e+00],\n",
       "       [1.98146448e+03, 1.66155334e+02, 4.98751068e+00],\n",
       "       [2.38167993e+03, 2.75161682e+02, 5.06544065e+00],\n",
       "       [2.26400562e+03, 2.76220001e+02, 5.68887949e+00],\n",
       "       [1.92630469e+03, 4.09567596e+02, 5.68887949e+00],\n",
       "       [2.07462329e+03, 5.39740234e+02, 6.70196724e+00],\n",
       "       [1.62537708e+03, 6.33930237e+02, 6.93575716e+00],\n",
       "       [1.82211389e+03, 6.68854553e+02, 7.55919600e+00],\n",
       "       [1.51199292e+03, 7.56694641e+02, 8.41642380e+00],\n",
       "       [1.23496790e+03, 7.87385742e+02, 7.55919600e+00],\n",
       "       [9.28585449e+03, 1.23928589e+03, 1.97941837e+01],\n",
       "       [2.48035474e+03, 8.59351135e+02, 1.01308811e+00],\n",
       "       [1.50560962e+03, 1.50670081e+03, 6.51277084e+01],\n",
       "       [1.06602136e+03, 1.42910962e+03, 8.72844543e+01],\n",
       "       [9.02332520e+02, 1.51787366e+03, 9.40265961e+01],\n",
       "       [6.56513855e+02, 1.82607349e+03, 1.05302338e+02],\n",
       "       [5.15373840e+02, 1.97455908e+03, 1.58768250e+02],\n",
       "       [1.74206268e+02, 1.86492993e+03, 1.19680046e+02],\n",
       "       [4.86604095e+02, 2.07797168e+03, 1.02499458e+02],\n",
       "       [4.72867340e+02, 2.27664722e+03, 8.58114395e+01],\n",
       "       [3.78115265e+02, 2.06829492e+03, 7.10261765e+01],\n",
       "       [1.24446457e+02, 1.71620557e+03, 1.10432556e+02],\n",
       "       [2.96728027e+02, 2.43206030e+03, 5.56668625e+01],\n",
       "       [2.37279968e+02, 2.27591309e+03, 4.08790054e+01],\n",
       "       [2.53059677e+02, 2.58412915e+03, 2.27979088e+01],\n",
       "       [1.91109741e+02, 3.40353320e+03, 3.45899391e+01],\n",
       "       [2.49553070e+02, 2.71098657e+03, 3.69483414e+01],\n",
       "       [3.34880371e+02, 2.46478955e+03, 2.75147228e+01],\n",
       "       [1.18055557e+02, 2.66588184e+03, 3.30176697e+01],\n",
       "       [7.30541763e+01, 2.57661182e+03, 2.43701839e+01],\n",
       "       [6.95475769e+01, 2.49204028e+03, 2.98731289e+01],\n",
       "       [8.12362442e+01, 2.05696680e+03, 2.43701839e+01],\n",
       "       [8.35739822e+01, 1.57960779e+03, 2.35840492e+01],\n",
       "       [5.78589096e+01, 1.57678870e+03, 2.20117798e+01],\n",
       "       [2.57150707e+01, 1.56081409e+03, 2.12256432e+01],\n",
       "       [2.33773384e+01, 1.44241394e+03, 1.72949696e+01]], dtype=float32)"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_loaded = tf.keras.models.load_model('./data/tf_model_savedmodel', compile=False)\n",
    "optimizer = tf.keras.optimizers.Adam(learning_rate=0.001)\n",
    "model_loaded.compile(optimizer=optimizer, loss=MSPE(name=\"MSPE\"))\n",
    "model_loaded.predict(ds_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
